зеркало из https://github.com/mozilla/gecko-dev.git
fixing bug 81292 - RFE: Labels feature to help users organize their messages. r=sspitzer, sr=beinvenu
This commit is contained in:
Родитель
9721eab3d0
Коммит
3f515758a8
|
@ -73,3 +73,5 @@ mailPrefsOverlay.xul
|
|||
am-prefs.js
|
||||
am-offline.xul
|
||||
am-offline.js
|
||||
pref-labels.xul
|
||||
pref-labels.js
|
||||
|
|
|
@ -70,6 +70,11 @@
|
|||
<treecell class="treecell-indent" url="chrome://messenger/content/addressbook/pref-addressing.xul" label="&address.label;"/>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
<treeitem>
|
||||
<treerow>
|
||||
<treecell class="treecell-indent" url="chrome://messenger/content/pref-labels.xul" label="&labels.label;"/>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
|
|
|
@ -75,6 +75,8 @@ CHROME_CONTENT = \
|
|||
.\smtpEditOverlay.xul \
|
||||
.\smtpEditOverlay.js \
|
||||
.\mailPrefsOverlay.xul \
|
||||
.\pref-labels.xul\
|
||||
.\pref-labels.js\
|
||||
.\am-offline.xul \
|
||||
.\am-offline.js \
|
||||
$(NULL)
|
||||
|
|
|
@ -0,0 +1,102 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla 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/MPL/
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Netscape Communications Corp.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2001
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Sean Su <ssu@netscape.com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
function setColorWell(aPicker)
|
||||
{
|
||||
var colorRef;
|
||||
|
||||
colorRef = aPicker.nextSibling; // colour value is held here
|
||||
colorRef.setAttribute( "value", aPicker.color );
|
||||
}
|
||||
|
||||
function getColorFromWellAndSetValue(aPickerId)
|
||||
{
|
||||
var picker;
|
||||
var colorRef;
|
||||
var color;
|
||||
|
||||
picker = document.getElementById(aPickerId);
|
||||
colorRef = picker.nextSibling;
|
||||
color = colorRef.getAttribute("value");
|
||||
picker.color = color;
|
||||
|
||||
return color;
|
||||
}
|
||||
|
||||
function Startup()
|
||||
{
|
||||
getColorFromWellAndSetValue("labelColorPicker1");
|
||||
getColorFromWellAndSetValue("labelColorPicker2");
|
||||
getColorFromWellAndSetValue("labelColorPicker3");
|
||||
getColorFromWellAndSetValue("labelColorPicker4");
|
||||
getColorFromWellAndSetValue("labelColorPicker5");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/* Function to restore pref values to application defaults */
|
||||
function restoreColorAndDescriptionToDefaults()
|
||||
{
|
||||
var prefColor;
|
||||
var description;
|
||||
var pickerColor;
|
||||
var dataColor;
|
||||
var labelDescription;
|
||||
var prefService = Components.classes["@mozilla.org/preferences-service;1"]
|
||||
.getService(Components.interfaces.nsIPrefService);
|
||||
var prefs = prefService.getDefaultBranch(null);
|
||||
|
||||
/* there are only 5 labels */
|
||||
for(var i = 1; i <= 5; i++)
|
||||
{
|
||||
/* set the default description from prefs */
|
||||
description = prefs.getComplexValue("mailnews.labels.description." + i,
|
||||
Components.interfaces.nsIPrefLocalizedString).data;
|
||||
labelDescription = document.getElementById("label" + i + "TextBox");
|
||||
labelDescription.value = description;
|
||||
|
||||
/* set the default color from prefs */
|
||||
prefColor = prefs.getCharPref("mailnews.labels.color." + i);
|
||||
pickerColor = document.getElementById("labelColorPicker" + i);
|
||||
pickerColor.color = prefColor;
|
||||
|
||||
// need to call setColorWell() so that the default pref value will be updated
|
||||
// in the preferences file.
|
||||
setColorWell(pickerColor);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,188 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<!-- ***** BEGIN LICENSE BLOCK *****
|
||||
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
-
|
||||
- The contents of this file are subject to the Mozilla 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/MPL/
|
||||
-
|
||||
- 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.
|
||||
-
|
||||
- The Initial Developer of the Original Code is
|
||||
- Netscape Communications Corp.
|
||||
- Portions created by the Initial Developer are Copyright (C) 2001
|
||||
- the Initial Developer. All Rights Reserved.
|
||||
-
|
||||
- Contributor(s):
|
||||
- Sean Su <ssu@netscape.com>
|
||||
-
|
||||
- Alternatively, the contents of this file may be used under the terms of
|
||||
- either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
- in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
- of those above. If you wish to allow use of your version of this file only
|
||||
- under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
- use your version of this file under the terms of the MPL, indicate your
|
||||
- decision by deleting the provisions above and replace them with the notice
|
||||
- and other provisions required by the LGPL or the GPL. If you do not delete
|
||||
- the provisions above, a recipient may use your version of this file under
|
||||
- the terms of any one of the MPL, the GPL or the LGPL.
|
||||
-
|
||||
- ***** END LICENSE BLOCK ***** -->
|
||||
|
||||
|
||||
<?xml-stylesheet href="chrome://messenger/skin/prefPanels.css" type="text/css"?>
|
||||
|
||||
<?xul-overlay href="chrome://global/content/dialogOverlay.xul"?>
|
||||
<?xul-overlay href="chrome://global/content/globalOverlay.xul"?>
|
||||
<?xul-overlay href="chrome://communicator/content/utilityOverlay.xul"?>
|
||||
|
||||
<!DOCTYPE window SYSTEM "chrome://messenger/locale/pref-labels.dtd">
|
||||
|
||||
<window xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
class="color-dialog"
|
||||
onload="parent.initPanel('chrome://messenger/content/pref-labels.xul');"
|
||||
orient="vertical">
|
||||
<popupset id="aTooltipSet"/>
|
||||
|
||||
<script type="application/x-javascript">
|
||||
<![CDATA[
|
||||
var _elementIDs = ["label1TextBox", "label1Color", "label2TextBox", "label2Color", "label3TextBox", "label3Color", "label4TextBox", "label4Color", "label5TextBox", "label5Color"];
|
||||
]]>
|
||||
</script>
|
||||
|
||||
<script type="application/x-javascript" src="chrome://messenger/content/pref-labels.js"/>
|
||||
|
||||
<hbox class="box-smallheader" title="&pane.title;"/>
|
||||
<description>&displayText.label;</description>
|
||||
|
||||
<!-- label color: 1 (default red) -->
|
||||
<hbox class="indent" autostretch="never">
|
||||
<textbox
|
||||
id="label1TextBox"
|
||||
pref="true"
|
||||
preftype="localizedstring"
|
||||
prefstring="mailnews.labels.description.1"
|
||||
prefattribute="value"/>
|
||||
<colorpicker
|
||||
class="small-margin"
|
||||
type="button"
|
||||
id="labelColorPicker1"
|
||||
palettename="standard"
|
||||
onchange="setColorWell(this);"/>
|
||||
<data
|
||||
id="label1Color"
|
||||
pref="true"
|
||||
preftype="color"
|
||||
prefstring="mailnews.labels.color.1"
|
||||
prefattribute="value"
|
||||
wsm_attributes="value"/>
|
||||
</hbox>
|
||||
|
||||
<!-- label color: 2 (default orange) -->
|
||||
<hbox class="indent" autostretch="never">
|
||||
<textbox
|
||||
id="label2TextBox"
|
||||
pref="true"
|
||||
preftype="localizedstring"
|
||||
prefstring="mailnews.labels.description.2"
|
||||
prefattribute="value"/>
|
||||
<colorpicker
|
||||
class="small-margin"
|
||||
type="button"
|
||||
id="labelColorPicker2"
|
||||
palettename="standard"
|
||||
onchange="setColorWell(this);"/>
|
||||
<data
|
||||
id="label2Color"
|
||||
pref="true"
|
||||
preftype="color"
|
||||
prefstring="mailnews.labels.color.2"
|
||||
prefattribute="value"
|
||||
wsm_attributes="value"/>
|
||||
</hbox>
|
||||
|
||||
<!-- label color: 3 (default green) -->
|
||||
<hbox class="indent" autostretch="never">
|
||||
<textbox
|
||||
id="label3TextBox"
|
||||
pref="true"
|
||||
preftype="localizedstring"
|
||||
prefstring="mailnews.labels.description.3"
|
||||
prefattribute="value"/>
|
||||
<colorpicker
|
||||
class="small-margin"
|
||||
type="button"
|
||||
id="labelColorPicker3"
|
||||
palettename="standard"
|
||||
onchange="setColorWell(this);"/>
|
||||
<data
|
||||
id="label3Color"
|
||||
pref="true"
|
||||
preftype="color"
|
||||
prefstring="mailnews.labels.color.3"
|
||||
prefattribute="value"
|
||||
wsm_attributes="value"/>
|
||||
</hbox>
|
||||
|
||||
<!-- label color: 4 (default blue) -->
|
||||
<hbox class="indent" autostretch="never">
|
||||
<textbox
|
||||
id="label4TextBox"
|
||||
pref="true"
|
||||
preftype="localizedstring"
|
||||
prefstring="mailnews.labels.description.4"
|
||||
prefattribute="value"/>
|
||||
<colorpicker
|
||||
class="small-margin"
|
||||
type="button"
|
||||
id="labelColorPicker4"
|
||||
palettename="standard"
|
||||
onchange="setColorWell(this);"/>
|
||||
<data
|
||||
id="label4Color"
|
||||
pref="true"
|
||||
preftype="color"
|
||||
prefstring="mailnews.labels.color.4"
|
||||
prefattribute="value"
|
||||
wsm_attributes="value"/>
|
||||
</hbox>
|
||||
|
||||
<!-- label color: 5 (default purple) -->
|
||||
<hbox class="indent" autostretch="never">
|
||||
<textbox
|
||||
id="label5TextBox"
|
||||
pref="true"
|
||||
preftype="localizedstring"
|
||||
prefstring="mailnews.labels.description.5"
|
||||
prefattribute="value"/>
|
||||
<colorpicker
|
||||
class="small-margin"
|
||||
type="button"
|
||||
id="labelColorPicker5"
|
||||
palettename="standard"
|
||||
onchange="setColorWell(this);"/>
|
||||
<data
|
||||
id="label5Color"
|
||||
pref="true"
|
||||
preftype="color"
|
||||
prefstring="mailnews.labels.color.5"
|
||||
prefattribute="value"
|
||||
wsm_attributes="value"/>
|
||||
</hbox>
|
||||
|
||||
<hbox pack="end">
|
||||
<button label="&restoreDefaults.label;" accesskey="&restoreDefaults.accesskey;"
|
||||
oncommand="restoreColorAndDescriptionToDefaults();">
|
||||
</button>
|
||||
</hbox>
|
||||
</window>
|
||||
|
|
@ -47,3 +47,4 @@ SmtpServerList.dtd
|
|||
smtpEditOverlay.dtd
|
||||
mailPrefsOverlay.dtd
|
||||
am-offline.dtd
|
||||
pref-labels.dtd
|
||||
|
|
|
@ -13,3 +13,4 @@
|
|||
<!ENTITY format.label "Send Format">
|
||||
<!ENTITY return.label "Return Receipts">
|
||||
<!ENTITY disk.label "Disk Space">
|
||||
<!ENTITY labels.label "Labels">
|
||||
|
|
|
@ -51,6 +51,7 @@ CHROME_L10N = \
|
|||
.\SmtpServerList.dtd \
|
||||
.\smtpEditOverlay.dtd \
|
||||
.\mailPrefsOverlay.dtd \
|
||||
.\pref-labels.dtd\
|
||||
.\am-offline.dtd \
|
||||
$(NULL)
|
||||
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
<!-- ***** BEGIN LICENSE BLOCK *****
|
||||
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
-
|
||||
- The contents of this file are subject to the Mozilla 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/MPL/
|
||||
-
|
||||
- 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.
|
||||
-
|
||||
- The Initial Developer of the Original Code is
|
||||
- Netscape Communications Corp.
|
||||
- Portions created by the Initial Developer are Copyright (C) 2001
|
||||
- the Initial Developer. All Rights Reserved.
|
||||
-
|
||||
- Contributor(s):
|
||||
- Sean Su <ssu@netscape.com>
|
||||
-
|
||||
- Alternatively, the contents of this file may be used under the terms of
|
||||
- either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
- in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
- of those above. If you wish to allow use of your version of this file only
|
||||
- under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
- use your version of this file under the terms of the MPL, indicate your
|
||||
- decision by deleting the provisions above and replace them with the notice
|
||||
- and other provisions required by the LGPL or the GPL. If you do not delete
|
||||
- the provisions above, a recipient may use your version of this file under
|
||||
- the terms of any one of the MPL, the GPL or the LGPL.
|
||||
-
|
||||
- ***** END LICENSE BLOCK ***** -->
|
||||
|
||||
<!ENTITY pane.title "Labels">
|
||||
<!ENTITY displayText.label "Customize the names and colors of message labels.">
|
||||
<!ENTITY restoreDefaults.label "Restore Defaults">
|
||||
<!ENTITY restoreDefaults.accesskey "R">
|
||||
|
|
@ -185,12 +185,13 @@ interface nsMsgViewCommandType
|
|||
const nsMsgViewCommandTypeValue selectThread = 18;
|
||||
const nsMsgViewCommandTypeValue selectFlagged = 19;
|
||||
const nsMsgViewCommandTypeValue cmdRequiringMsgBody = 20;
|
||||
const nsMsgViewCommandTypeValue label1 = 21;
|
||||
const nsMsgViewCommandTypeValue label2 = 22;
|
||||
const nsMsgViewCommandTypeValue label3 = 23;
|
||||
const nsMsgViewCommandTypeValue label4 = 24;
|
||||
const nsMsgViewCommandTypeValue label5 = 25;
|
||||
const nsMsgViewCommandTypeValue lastLabel = 25;
|
||||
const nsMsgViewCommandTypeValue label0 = 21;
|
||||
const nsMsgViewCommandTypeValue label1 = 22;
|
||||
const nsMsgViewCommandTypeValue label2 = 23;
|
||||
const nsMsgViewCommandTypeValue label3 = 24;
|
||||
const nsMsgViewCommandTypeValue label4 = 25;
|
||||
const nsMsgViewCommandTypeValue label5 = 26;
|
||||
const nsMsgViewCommandTypeValue lastLabel = 26;
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -248,6 +248,7 @@ var DefaultController =
|
|||
case "cmd_markAllRead":
|
||||
case "cmd_markThreadAsRead":
|
||||
case "cmd_markAsFlagged":
|
||||
case "cmd_label0":
|
||||
case "cmd_label1":
|
||||
case "cmd_label2":
|
||||
case "cmd_label3":
|
||||
|
@ -367,6 +368,7 @@ var DefaultController =
|
|||
case "cmd_markAsFlagged":
|
||||
case "button_file":
|
||||
case "cmd_file":
|
||||
case "cmd_label0":
|
||||
case "cmd_label1":
|
||||
case "cmd_label2":
|
||||
case "cmd_label3":
|
||||
|
@ -618,6 +620,9 @@ var DefaultController =
|
|||
case "cmd_markAsFlagged":
|
||||
MsgMarkAsFlagged(null);
|
||||
return;
|
||||
case "cmd_label0":
|
||||
gDBView.doCommand(nsMsgViewCommandType.label0);
|
||||
return;
|
||||
case "cmd_label1":
|
||||
gDBView.doCommand(nsMsgViewCommandType.label1);
|
||||
return;
|
||||
|
|
|
@ -301,11 +301,53 @@ function InitMessageMark()
|
|||
document.commandDispatcher.updateCommands('create-menu-mark');
|
||||
}
|
||||
|
||||
function InitMessageLabel()
|
||||
function SetMenuItemLabel(menuItemId, customLabel)
|
||||
{
|
||||
dump("initing message label\n");
|
||||
var menuItem = document.getElementById(menuItemId);
|
||||
|
||||
if(menuItem)
|
||||
menuItem.setAttribute('label', customLabel);
|
||||
}
|
||||
|
||||
function InitMessageLabel(menuType)
|
||||
{
|
||||
/* this code gets the label strings and changes the menu labels */
|
||||
var prefs = Components.classes["@mozilla.org/preferences;1"].getService(Components.interfaces.nsIPref);
|
||||
var prefBranch = prefs.getDefaultBranch(null);
|
||||
var color;
|
||||
|
||||
for (var i = 0;i <= 5; i++)
|
||||
{
|
||||
try
|
||||
{
|
||||
var prefString = prefs.getComplexValue("mailnews.labels.description." + i,
|
||||
Components.interfaces.nsIPrefLocalizedString);
|
||||
var formattedPrefString = gMessengerBundle.getFormattedString("labelMenuItemFormat" + i,
|
||||
[prefString], 1);
|
||||
SetMenuItemLabel(menuType + '-labelMenuItem' + i, formattedPrefString);
|
||||
|
||||
// commented out for now until UE decides on how to show the Labels menu items.
|
||||
// This code will color either the text or background for the Labels menu items.
|
||||
/*****
|
||||
if (i != 0)
|
||||
{
|
||||
color = prefBranch.getCharPref("mailnews.labels.color." + i);
|
||||
// this colors the text of the menuitem only.
|
||||
document.getElementById(menuType + "-labelMenuItem" + i).setAttribute("style", ("color: " + color));
|
||||
|
||||
// this colors the background of the menuitem and
|
||||
// when selected, text becomes white.
|
||||
//document.getElementById(menuType + "-labelMenuItem" + i).setAttribute("style", ("color: #FFFFFF"));
|
||||
//document.getElementById(menuType + "-labelMenuItem" + i).setAttribute("style", ("background-color: " + color));
|
||||
}
|
||||
****/
|
||||
}
|
||||
catch(ex)
|
||||
{
|
||||
dump("bad! " + ex + "\n");
|
||||
}
|
||||
}
|
||||
document.commandDispatcher.updateCommands('create-menu-label');
|
||||
/* this code should probably get the label strings and change the menu labels */
|
||||
}
|
||||
|
||||
function InitMarkReadItem(id)
|
||||
|
|
|
@ -252,6 +252,7 @@ Rights Reserved.
|
|||
events="create-menu-label"
|
||||
oncommandupdate="goUpdateMailMenuItems(this)">
|
||||
|
||||
<command id="cmd_label0" oncommand="goDoCommand('cmd_label0');" disabled="true"/>
|
||||
<command id="cmd_label1" oncommand="goDoCommand('cmd_label1');" disabled="true"/>
|
||||
<command id="cmd_label2" oncommand="goDoCommand('cmd_label2');" disabled="true"/>
|
||||
<command id="cmd_label3" oncommand="goDoCommand('cmd_label3');" disabled="true"/>
|
||||
|
@ -492,6 +493,37 @@ Rights Reserved.
|
|||
</rule>
|
||||
</template>
|
||||
</menu>
|
||||
<menuseparator/>
|
||||
<menu label="&labelMenu.label;" accesskey="&labelMenu.accesskey;">
|
||||
<menupopup id="threadPaneContext-labels" onpopupshowing="InitMessageLabel('threadPaneContext')">
|
||||
<menuitem
|
||||
id="threadPaneContext-labelMenuItem0"
|
||||
accesskey="&labelCmd0.accesskey;"
|
||||
observes="cmd_label0"/>
|
||||
<menuseparator/>
|
||||
<menuitem
|
||||
id="threadPaneContext-labelMenuItem1"
|
||||
accesskey="&labelCmd1.accesskey;"
|
||||
observes="cmd_label1"/>
|
||||
<menuitem
|
||||
id="threadPaneContext-labelMenuItem2"
|
||||
accesskey="&labelCmd2.accesskey;"
|
||||
observes="cmd_label2"/>
|
||||
<menuitem
|
||||
id="threadPaneContext-labelMenuItem3"
|
||||
accesskey="&labelCmd3.accesskey;"
|
||||
observes="cmd_label3"/>
|
||||
<menuitem
|
||||
id="threadPaneContext-labelMenuItem4"
|
||||
accesskey="&labelCmd4.accesskey;"
|
||||
observes="cmd_label4"/>
|
||||
<menuitem
|
||||
id="threadPaneContext-labelMenuItem5"
|
||||
accesskey="&labelCmd5.accesskey;"
|
||||
observes="cmd_label5"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menuseparator/>
|
||||
<menuitem id="threadPaneContext-saveAs"
|
||||
label="&contextSaveAs.label;"
|
||||
accesskey="&contextSaveAs.accesskey;"
|
||||
|
@ -741,6 +773,37 @@ Rights Reserved.
|
|||
</rule>
|
||||
</template>
|
||||
</menu>
|
||||
<menuseparator/>
|
||||
<menu label="&labelMenu.label;" accesskey="&labelMenu.accesskey;">
|
||||
<menupopup id="messagePaneContext-labels" onpopupshowing="InitMessageLabel('messagePaneContext')">
|
||||
<menuitem
|
||||
id="messagePaneContext-labelMenuItem0"
|
||||
accesskey="&labelCmd0.accesskey;"
|
||||
observes="cmd_label0"/>
|
||||
<menuseparator/>
|
||||
<menuitem
|
||||
id="messagePaneContext-labelMenuItem1"
|
||||
accesskey="&labelCmd1.accesskey;"
|
||||
observes="cmd_label1"/>
|
||||
<menuitem
|
||||
id="messagePaneContext-labelMenuItem2"
|
||||
accesskey="&labelCmd2.accesskey;"
|
||||
observes="cmd_label2"/>
|
||||
<menuitem
|
||||
id="messagePaneContext-labelMenuItem3"
|
||||
accesskey="&labelCmd3.accesskey;"
|
||||
observes="cmd_label3"/>
|
||||
<menuitem
|
||||
id="messagePaneContext-labelMenuItem4"
|
||||
accesskey="&labelCmd4.accesskey;"
|
||||
observes="cmd_label4"/>
|
||||
<menuitem
|
||||
id="messagePaneContext-labelMenuItem5"
|
||||
accesskey="&labelCmd5.accesskey;"
|
||||
observes="cmd_label5"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menuseparator/>
|
||||
<menuitem id="messagePaneContext-saveAs"
|
||||
label="&contextSaveAs.label;"
|
||||
accesskey="&contextSaveAs.accesskey;"
|
||||
|
@ -1229,12 +1292,32 @@ Rights Reserved.
|
|||
</menu>
|
||||
<menuseparator/>
|
||||
<menu label="&labelMenu.label;" accesskey="&labelMenu.accesskey;">
|
||||
<menupopup onpopupshowing="InitMessageLabel()">
|
||||
<menuitem type="checkbox" id="labelMenuItem1" label="&labelCmd1.label;" accesskey="&labelCmd1.accesskey;" observes="cmd_label1"/>
|
||||
<menuitem type="checkbox" id="labelMenuItem2" label="&labelCmd2.label;" accesskey="&labelCmd2.accesskey;" observes="cmd_label2"/>
|
||||
<menuitem type="checkbox" id="labelMenuItem3" label="&labelCmd3.label;" accesskey="&labelCmd3.accesskey;" observes="cmd_label3"/>
|
||||
<menuitem type="checkbox" id="labelMenuItem4" label="&labelCmd4.label;" accesskey="&labelCmd4.accesskey;" observes="cmd_label4"/>
|
||||
<menuitem type="checkbox" id="labelMenuItem5" label="&labelCmd5.label;" accesskey="&labelCmd5.accesskey;" observes="cmd_label5"/>
|
||||
<menupopup id="menuPopup-labels" onpopupshowing="InitMessageLabel('menuPopup')">
|
||||
<menuitem
|
||||
id="menuPopup-labelMenuItem0"
|
||||
accesskey="&labelCmd0.accesskey;"
|
||||
observes="cmd_label0"/>
|
||||
<menuseparator/>
|
||||
<menuitem
|
||||
id="menuPopup-labelMenuItem1"
|
||||
accesskey="&labelCmd1.accesskey;"
|
||||
observes="cmd_label1"/>
|
||||
<menuitem
|
||||
id="menuPopup-labelMenuItem2"
|
||||
accesskey="&labelCmd2.accesskey;"
|
||||
observes="cmd_label2"/>
|
||||
<menuitem
|
||||
id="menuPopup-labelMenuItem3"
|
||||
accesskey="&labelCmd3.accesskey;"
|
||||
observes="cmd_label3"/>
|
||||
<menuitem
|
||||
id="menuPopup-labelMenuItem4"
|
||||
accesskey="&labelCmd4.accesskey;"
|
||||
observes="cmd_label4"/>
|
||||
<menuitem
|
||||
id="menuPopup-labelMenuItem5"
|
||||
accesskey="&labelCmd5.accesskey;"
|
||||
observes="cmd_label5"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menuseparator/>
|
||||
|
|
|
@ -21,6 +21,7 @@ Rights Reserved.
|
|||
-->
|
||||
|
||||
<?xml-stylesheet href="chrome://messenger/skin/threadPane.css" type="text/css"?>
|
||||
<?xml-stylesheet href="chrome://messenger/skin/threadPaneLabels.css" type="text/css"?>
|
||||
|
||||
<!DOCTYPE window SYSTEM "chrome://messenger/locale/threadpane.dtd">
|
||||
|
||||
|
@ -48,7 +49,7 @@ Rights Reserved.
|
|||
<splitter class="tree-splitter"/>
|
||||
<outlinercol id="priorityCol" class="sortDirectionIndicator" persist="hidden ordinal width" flex="1" label="&priorityColumn.label;"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<outlinercol id="labelCol" class="sortDirectionIndicator" persist="hidden ordinal width" flex="1" label="&labelColumn.label;"/>
|
||||
<outlinercol id="labelCol" class="sortDirectionIndicator" persist="hidden ordinal width" flex="1" label="&labelColumn.label;" hidden="true"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<outlinercol id="unreadCol" class="sortDirectionIndicator" persist="hidden ordinal width" flex="1" label="&unreadColumn.label;"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
|
|
|
@ -144,7 +144,7 @@ Rights Reserved.
|
|||
<!ENTITY sortByStatusCmd.label "Status">
|
||||
<!ENTITY sortByStatusCmd.accesskey "u">
|
||||
<!ENTITY sortByLabelCmd.label "Label">
|
||||
<!ENTITY sortByLabelCmd.accesskey "l">
|
||||
<!ENTITY sortByLabelCmd.accesskey "L">
|
||||
<!ENTITY sortBySubjectCmd.label "Subject">
|
||||
<!ENTITY sortBySubjectCmd.accesskey "S">
|
||||
<!-- Sender / Recipient lives in messenger.properties, since that item is dynamic -->
|
||||
|
@ -364,7 +364,8 @@ Rights Reserved.
|
|||
<!ENTITY addAllToAddressBookCmd.label ".Add All to Address Book">
|
||||
<!ENTITY addAllToAddressBookCmd.accesskey "A">
|
||||
<!ENTITY labelMenu.label "Label">
|
||||
<!ENTITY labelMenu.accesskey "l">
|
||||
<!ENTITY labelMenu.accesskey "L">
|
||||
<!ENTITY labelCmd0.accesskey "0">
|
||||
<!ENTITY labelCmd1.label "1">
|
||||
<!ENTITY labelCmd1.accesskey "1">
|
||||
<!ENTITY labelCmd2.label "2">
|
||||
|
|
|
@ -142,6 +142,33 @@ priorityNormal=Normal
|
|||
priorityHigh=High
|
||||
priorityHighest=Highest
|
||||
|
||||
# defaults for labels prefs listed in mailnews.js
|
||||
mailnews.labels.description.0=None
|
||||
mailnews.labels.description.1=Important
|
||||
mailnews.labels.description.2=Work
|
||||
mailnews.labels.description.3=Personal
|
||||
mailnews.labels.description.4=To Do
|
||||
mailnews.labels.description.5=Later
|
||||
|
||||
# Format definition for label menu text. This is necessary in order to
|
||||
# get the access key to be the on the first character of the menu text
|
||||
# instead of after the menu text. The access keys for each of the label
|
||||
# items have been set to be the number preceeding '%S' listed below.
|
||||
#
|
||||
# '%S' is the prefs defined above, mailnews.labels.description.X.
|
||||
# ie: 0 None
|
||||
# 1 Important
|
||||
# 2 Work
|
||||
# 3 Personal
|
||||
# 4 To Do
|
||||
# 5 Later
|
||||
labelMenuItemFormat0=0 %S
|
||||
labelMenuItemFormat1=1 %S
|
||||
labelMenuItemFormat2=2 %S
|
||||
labelMenuItemFormat3=3 %S
|
||||
labelMenuItemFormat4=4 %S
|
||||
labelMenuItemFormat5=5 %S
|
||||
|
||||
replied=Replied
|
||||
forwarded=Forwarded
|
||||
new=New
|
||||
|
|
|
@ -56,6 +56,10 @@
|
|||
#include "nsIDOMElement.h"
|
||||
#include "nsDateTimeFormatCID.h"
|
||||
#include "nsMsgMimeCID.h"
|
||||
#include "nsIPrefService.h"
|
||||
#include "nsIPrefBranch.h"
|
||||
#include "nsIPrefBranchInternal.h"
|
||||
#include "nsIPrefLocalizedString.h"
|
||||
|
||||
/* Implementation file */
|
||||
static NS_DEFINE_CID(kStringBundleServiceCID, NS_STRINGBUNDLESERVICE_CID);
|
||||
|
@ -63,10 +67,12 @@ static NS_DEFINE_CID(kDateTimeFormatCID, NS_DATETIMEFORMAT_CID);
|
|||
|
||||
nsrefcnt nsMsgDBView::gInstanceCount = 0;
|
||||
|
||||
nsIAtom * nsMsgDBView::kHighestPriorityAtom = nsnull;
|
||||
nsIAtom * nsMsgDBView::kHighPriorityAtom = nsnull;
|
||||
nsIAtom * nsMsgDBView::kLowestPriorityAtom = nsnull;
|
||||
nsIAtom * nsMsgDBView::kLowPriorityAtom = nsnull;
|
||||
#ifdef SUPPORT_PRIORITY_COLORS
|
||||
nsIAtom * nsMsgDBView::kHighestPriorityAtom = nsnull;
|
||||
nsIAtom * nsMsgDBView::kHighPriorityAtom = nsnull;
|
||||
nsIAtom * nsMsgDBView::kLowestPriorityAtom = nsnull;
|
||||
nsIAtom * nsMsgDBView::kLowPriorityAtom = nsnull;
|
||||
#endif
|
||||
|
||||
nsIAtom * nsMsgDBView::kUnreadMsgAtom = nsnull;
|
||||
nsIAtom * nsMsgDBView::kNewMsgAtom = nsnull;
|
||||
|
@ -78,6 +84,11 @@ nsIAtom * nsMsgDBView::kImapDeletedMsgAtom = nsnull;
|
|||
nsIAtom * nsMsgDBView::kAttachMsgAtom = nsnull;
|
||||
nsIAtom * nsMsgDBView::kHasUnreadAtom = nsnull;
|
||||
|
||||
nsIAtom * nsMsgDBView::mLabelPrefColorAtoms[PREF_LABELS_MAX] = {nsnull, nsnull, nsnull, nsnull, nsnull};
|
||||
|
||||
nsIAtom * nsMsgDBView::kLabelColorWhiteAtom = nsnull;
|
||||
nsIAtom * nsMsgDBView::kLabelColorBlackAtom = nsnull;
|
||||
|
||||
PRUnichar * nsMsgDBView::kHighestPriorityString = nsnull;
|
||||
PRUnichar * nsMsgDBView::kHighPriorityString = nsnull;
|
||||
PRUnichar * nsMsgDBView::kLowestPriorityString = nsnull;
|
||||
|
@ -98,6 +109,7 @@ NS_INTERFACE_MAP_BEGIN(nsMsgDBView)
|
|||
NS_INTERFACE_MAP_ENTRY(nsIOutlinerView)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIMsgCopyServiceListener)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIMsgSearchNotify)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIObserver)
|
||||
NS_INTERFACE_MAP_END
|
||||
|
||||
nsMsgDBView::nsMsgDBView()
|
||||
|
@ -125,6 +137,7 @@ nsMsgDBView::nsMsgDBView()
|
|||
InitializeAtomsAndLiterals();
|
||||
}
|
||||
|
||||
AddLabelPrefObservers();
|
||||
gInstanceCount++;
|
||||
}
|
||||
|
||||
|
@ -140,10 +153,12 @@ void nsMsgDBView::InitializeAtomsAndLiterals()
|
|||
kAttachMsgAtom = NS_NewAtom("attach");
|
||||
kHasUnreadAtom = NS_NewAtom("hasUnread");
|
||||
|
||||
#ifdef SUPPORT_PRIORITY_COLORS
|
||||
kHighestPriorityAtom = NS_NewAtom("priority-highest");
|
||||
kHighPriorityAtom = NS_NewAtom("priority-high");
|
||||
kLowestPriorityAtom = NS_NewAtom("priority-lowest");
|
||||
kLowPriorityAtom = NS_NewAtom("priority-low");
|
||||
#endif
|
||||
|
||||
// priority strings
|
||||
kHighestPriorityString = GetString(NS_LITERAL_STRING("priorityHighest").get());
|
||||
|
@ -152,6 +167,9 @@ void nsMsgDBView::InitializeAtomsAndLiterals()
|
|||
kLowPriorityString = GetString(NS_LITERAL_STRING("priorityLow").get());
|
||||
kNormalPriorityString = GetString(NS_LITERAL_STRING("priorityNormal").get());
|
||||
|
||||
kLabelColorWhiteAtom = NS_NewAtom("lc-white");
|
||||
kLabelColorBlackAtom = NS_NewAtom("lc-black");
|
||||
|
||||
kReadString = GetString(NS_LITERAL_STRING("read").get());
|
||||
kRepliedString = GetString(NS_LITERAL_STRING("replied").get());
|
||||
kForwardedString = GetString(NS_LITERAL_STRING("forwarded").get());
|
||||
|
@ -176,17 +194,25 @@ nsMsgDBView::~nsMsgDBView()
|
|||
NS_IF_RELEASE(kAttachMsgAtom);
|
||||
NS_IF_RELEASE(kHasUnreadAtom);
|
||||
|
||||
#ifdef SUPPORT_PRIORITY_COLORS
|
||||
NS_IF_RELEASE(kHighestPriorityAtom);
|
||||
NS_IF_RELEASE(kHighPriorityAtom);
|
||||
NS_IF_RELEASE(kLowestPriorityAtom);
|
||||
NS_IF_RELEASE(kLowPriorityAtom);
|
||||
#endif
|
||||
|
||||
for(PRInt32 i = 0; i < PREF_LABELS_MAX; i++)
|
||||
NS_IF_RELEASE(mLabelPrefColorAtoms[i]);
|
||||
|
||||
NS_IF_RELEASE(kLabelColorWhiteAtom);
|
||||
NS_IF_RELEASE(kLabelColorBlackAtom);
|
||||
|
||||
nsCRT::free(kHighestPriorityString);
|
||||
nsCRT::free(kHighPriorityString);
|
||||
nsCRT::free(kLowestPriorityString);
|
||||
nsCRT::free(kLowPriorityString);
|
||||
nsCRT::free(kNormalPriorityString);
|
||||
|
||||
|
||||
nsCRT::free(kReadString);
|
||||
nsCRT::free(kRepliedString);
|
||||
nsCRT::free(kForwardedString);
|
||||
|
@ -194,6 +220,134 @@ nsMsgDBView::~nsMsgDBView()
|
|||
}
|
||||
}
|
||||
|
||||
nsresult nsMsgDBView::InitLabelPrefs()
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
nsCString prefString;
|
||||
|
||||
for(PRInt32 i = 0; i < PREF_LABELS_MAX; i++)
|
||||
{
|
||||
prefString.Assign(PREF_LABELS_DESCRIPTION);
|
||||
prefString.AppendInt(i + 1);
|
||||
rv = GetPrefLocalizedString(prefString.get(), mLabelPrefDescriptions[i]);
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
|
||||
prefString.Assign(PREF_LABELS_COLOR);
|
||||
prefString.AppendInt(i + 1);
|
||||
rv = GetLabelPrefStringAndAtom(prefString.get(), mLabelPrefColors[i], &mLabelPrefColorAtoms[i]);
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
nsresult nsMsgDBView::AddLabelPrefObservers()
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
nsCString prefString;
|
||||
|
||||
nsCOMPtr<nsIPrefService> prefs = do_GetService(NS_PREFSERVICE_CONTRACTID, &rv);
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
|
||||
nsCOMPtr<nsIPrefBranch> prefBranch;
|
||||
rv = prefs->GetBranch(nsnull, getter_AddRefs(prefBranch));
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
|
||||
nsCOMPtr<nsIPrefBranchInternal> pbi = do_QueryInterface(prefBranch, &rv);
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
|
||||
InitLabelPrefs();
|
||||
|
||||
for(PRInt32 i = 0; i < PREF_LABELS_MAX; i++)
|
||||
{
|
||||
prefString.Assign(PREF_LABELS_DESCRIPTION);
|
||||
prefString.AppendInt(i + 1);
|
||||
rv = pbi->AddObserver(prefString.get(), this, PR_FALSE);
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
|
||||
prefString.Assign(PREF_LABELS_COLOR);
|
||||
prefString.AppendInt(i + 1);
|
||||
rv = pbi->AddObserver(prefString.get(), this, PR_FALSE);
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
nsresult nsMsgDBView::RemoveLabelPrefObservers()
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
nsCString prefString;
|
||||
|
||||
nsCOMPtr<nsIPrefService> prefs = do_GetService(NS_PREFSERVICE_CONTRACTID, &rv);
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
|
||||
nsCOMPtr<nsIPrefBranch> prefBranch;
|
||||
rv = prefs->GetBranch(nsnull, getter_AddRefs(prefBranch));
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
|
||||
nsCOMPtr<nsIPrefBranchInternal> pbi = do_QueryInterface(prefBranch, &rv);
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
|
||||
for(PRInt32 i = 0; i < PREF_LABELS_MAX; i++)
|
||||
{
|
||||
prefString.Assign(PREF_LABELS_DESCRIPTION);
|
||||
prefString.AppendInt(i + 1);
|
||||
rv = pbi->RemoveObserver(prefString.get(), this);
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
|
||||
prefString.Assign(PREF_LABELS_COLOR);
|
||||
prefString.AppendInt(i + 1);
|
||||
rv = pbi->RemoveObserver(prefString.get(), this);
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP nsMsgDBView::Observe(nsISupports *aSubject, const char *aTopic, const PRUnichar *someData)
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
PRBool matchFound = PR_FALSE;
|
||||
|
||||
if (!nsCRT::strcmp(aTopic, NS_PREFBRANCH_PREFCHANGE_TOPIC_ID))
|
||||
{
|
||||
nsCString prefName;
|
||||
nsCString indexStr;
|
||||
PRUint32 prefNameLength;
|
||||
PRInt32 indexInt;
|
||||
PRInt32 irv;
|
||||
|
||||
prefName.AssignWithConversion(someData);
|
||||
prefNameLength = prefName.Length();
|
||||
|
||||
/* Get the last character and convert it to an int.
|
||||
* It should be a char from 1-5. */
|
||||
indexStr.Assign(prefName.get() + prefNameLength - 1);
|
||||
indexInt = indexStr.ToInteger(&irv);
|
||||
NS_ASSERTION(!irv, "ToInteger() failed");
|
||||
if (irv)
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
/* Determine if it's a description or a color preference */
|
||||
if(prefName.Find(PREF_LABELS_DESCRIPTION, true, 0, 1) != kNotFound)
|
||||
{
|
||||
/* it's a description, get the localized string from the pref */
|
||||
rv = GetPrefLocalizedString(prefName.get(), mLabelPrefDescriptions[indexInt - 1]);
|
||||
matchFound = PR_TRUE;
|
||||
}
|
||||
else if(prefName.Find(PREF_LABELS_COLOR, true, 0, 1) != kNotFound)
|
||||
{
|
||||
/* it's a color, get the color string from the pref, and create a new atom for it */
|
||||
rv = GetLabelPrefStringAndAtom(prefName.get(), mLabelPrefColors[indexInt - 1], &mLabelPrefColorAtoms[indexInt - 1]);
|
||||
matchFound = PR_TRUE;
|
||||
}
|
||||
|
||||
if(matchFound) {
|
||||
NS_ENSURE_SUCCESS(rv,rv);
|
||||
mOutliner->Invalidate();
|
||||
}
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
// helper function used to fetch strings from the messenger string bundle
|
||||
PRUnichar * nsMsgDBView::GetString(const PRUnichar *aStringName)
|
||||
{
|
||||
|
@ -217,6 +371,93 @@ PRUnichar * nsMsgDBView::GetString(const PRUnichar *aStringName)
|
|||
return nsCRT::strdup(aStringName);
|
||||
}
|
||||
|
||||
// helper function used to fetch localized strings from the prefs
|
||||
nsresult nsMsgDBView::GetPrefLocalizedString(const char *aPrefName, nsString& aResult)
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
nsCOMPtr<nsIPrefService> prefService;
|
||||
nsCOMPtr<nsIPrefBranch> prefBranch;
|
||||
nsCOMPtr<nsIPrefLocalizedString> pls;
|
||||
nsXPIDLString ucsval;
|
||||
|
||||
prefService = do_GetService(NS_PREFSERVICE_CONTRACTID, &rv);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
rv = prefService->GetBranch(nsnull, getter_AddRefs(prefBranch));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
rv = prefBranch->GetComplexValue(aPrefName, NS_GET_IID(nsIPrefLocalizedString), getter_AddRefs(pls));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
pls->ToString(getter_Copies(ucsval));
|
||||
aResult = ucsval.get();
|
||||
return rv;
|
||||
}
|
||||
|
||||
// helper function used to fetch color information from the prefs and create atoms for them.
|
||||
nsresult nsMsgDBView::GetLabelPrefStringAndAtom(const char *aPrefName, nsString& aColor, nsIAtom** aColorAtom)
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
nsCOMPtr<nsIPrefService> prefService;
|
||||
nsCOMPtr<nsIPrefBranch> prefBranch;
|
||||
nsXPIDLCString csval;
|
||||
nsCAutoString prefColorOutliner(LABEL_COLOR_STRING);
|
||||
|
||||
prefService = do_GetService(NS_PREFSERVICE_CONTRACTID, &rv);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
rv = prefService->GetBranch(nsnull, getter_AddRefs(prefBranch));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
rv = prefBranch->GetCharPref(aPrefName, getter_Copies(csval));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
aColor.AssignWithConversion(csval);
|
||||
|
||||
/* Build the color atom here. This is where we cache it to be used
|
||||
* later in AppendLabelProperties() */
|
||||
NS_IF_RELEASE(*aColorAtom);
|
||||
prefColorOutliner.AppendWithConversion(aColor.get() + 1);
|
||||
*aColorAtom = NS_NewAtom(prefColorOutliner.get());
|
||||
NS_ENSURE_TRUE(*aColorAtom, NS_ERROR_FAILURE);
|
||||
|
||||
return rv;
|
||||
}
|
||||
|
||||
// helper function used to tell the outliner to apply a certain color style
|
||||
// for fonts and highlights.
|
||||
nsresult nsMsgDBView::AppendLabelProperties(nsMsgLabelValue label, nsISupportsArray *aProperties)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(aProperties);
|
||||
|
||||
// We need to subtract 1 because mLabelPrefColors is 0 based.
|
||||
if(!mLabelPrefColors[label - 1].IsEmpty())
|
||||
{
|
||||
NS_ENSURE_TRUE(mLabelPrefColorAtoms[label - 1], NS_ERROR_FAILURE);
|
||||
aProperties->AppendElement(mLabelPrefColorAtoms[label - 1]);
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
// helper function used to tell the outliner to apply a certain color style
|
||||
// for fonts when it is highlighted.
|
||||
nsresult nsMsgDBView::AppendSelectedTextColorProperties(nsMsgLabelValue label, nsISupportsArray *aProperties)
|
||||
{
|
||||
NS_ENSURE_ARG_POINTER(aProperties);
|
||||
|
||||
// This checks to see if the text color is white (#FFFFFF). If it is, we
|
||||
// want to set the text color black when highlighted so it will be
|
||||
// readable. We don't care if the text color is black because this
|
||||
// means the highlight color will be black.
|
||||
//
|
||||
// We need to subtract 1 because mLabelPrefColors is 0 based.
|
||||
if(mLabelPrefColors[label - 1].Equals(NS_LITERAL_STRING(LABEL_COLOR_WHITE_STRING)))
|
||||
aProperties->AppendElement(kLabelColorBlackAtom);
|
||||
else
|
||||
aProperties->AppendElement(kLabelColorWhiteAtom);
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
// nsIOutlinerView Implementation Methods (and helper methods)
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
@ -414,19 +655,28 @@ nsresult nsMsgDBView::FetchPriority(nsIMsgHdr *aHdr, PRUnichar ** aPriorityStrin
|
|||
|
||||
nsresult nsMsgDBView::FetchLabel(nsIMsgHdr *aHdr, PRUnichar ** aLabelString)
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
nsMsgLabelValue label = 0;
|
||||
PRUnichar labelString[2];
|
||||
labelString[1] = '\0';
|
||||
|
||||
NS_ENSURE_ARG_POINTER(aHdr);
|
||||
NS_ENSURE_ARG_POINTER(aLabelString);
|
||||
|
||||
aHdr->GetLabel(&label);
|
||||
|
||||
|
||||
if (label)
|
||||
// we don't care if label is not between 1 and PREF_LABELS_MAX inclusive.
|
||||
if ((label < 1) || (label > PREF_LABELS_MAX))
|
||||
{
|
||||
*labelString = '0' + label;
|
||||
*aLabelString = nsCRT::strdup(labelString);
|
||||
}
|
||||
else
|
||||
*aLabelString = nsnull;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
// We need to subtract 1 because mLabelPrefDescriptions is 0 based.
|
||||
if(!mLabelPrefDescriptions[label - 1].IsEmpty())
|
||||
{
|
||||
*aLabelString = nsCRT::strdup(mLabelPrefDescriptions[label - 1].get());
|
||||
if (!*aLabelString)
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -712,6 +962,31 @@ nsresult nsMsgDBView::GetSelectedIndices(nsUInt32Array *selection)
|
|||
|
||||
NS_IMETHODIMP nsMsgDBView::GetRowProperties(PRInt32 index, nsISupportsArray *properties)
|
||||
{
|
||||
nsMsgLabelValue label;
|
||||
|
||||
if (!IsValidIndex(index))
|
||||
return NS_MSG_INVALID_DBVIEW_INDEX;
|
||||
|
||||
// this is where we tell the outliner to apply styles to a particular row
|
||||
nsCOMPtr <nsIMsgDBHdr> msgHdr;
|
||||
nsresult rv = NS_OK;
|
||||
|
||||
rv = GetMsgHdrForViewIndex(index, getter_AddRefs(msgHdr));
|
||||
|
||||
if (NS_FAILED(rv) || !msgHdr) {
|
||||
ClearHdrCache();
|
||||
return NS_MSG_INVALID_DBVIEW_INDEX;
|
||||
}
|
||||
|
||||
// we only care if label is between 1 and PREF_LABELS_MAX inclusive.
|
||||
if (NS_SUCCEEDED(msgHdr->GetLabel(&label)) && ((label >= 1) || (label <= PREF_LABELS_MAX)))
|
||||
{
|
||||
// Set the row properties. This will color the background of a row given
|
||||
// a particular label color.
|
||||
rv = AppendLabelProperties(label, properties);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -722,6 +997,8 @@ NS_IMETHODIMP nsMsgDBView::GetColumnProperties(const PRUnichar *colID, nsIDOMEle
|
|||
|
||||
NS_IMETHODIMP nsMsgDBView::GetCellProperties(PRInt32 aRow, const PRUnichar *colID, nsISupportsArray *properties)
|
||||
{
|
||||
nsMsgLabelValue label;
|
||||
|
||||
if (!IsValidIndex(aRow))
|
||||
return NS_MSG_INVALID_DBVIEW_INDEX;
|
||||
|
||||
|
@ -759,26 +1036,47 @@ NS_IMETHODIMP nsMsgDBView::GetCellProperties(PRInt32 aRow, const PRUnichar *colI
|
|||
if (mIsNews)
|
||||
properties->AppendElement(kNewsMsgAtom);
|
||||
|
||||
#ifdef SUPPORT_PRIORITY_COLORS
|
||||
// add special styles for priority
|
||||
nsMsgPriorityValue priority;
|
||||
msgHdr->GetPriority(&priority);
|
||||
switch (priority)
|
||||
{
|
||||
case nsMsgPriority::highest:
|
||||
properties->AppendElement(kHighestPriorityAtom);
|
||||
properties->AppendElement(kHighestPriorityAtom);
|
||||
break;
|
||||
case nsMsgPriority::high:
|
||||
properties->AppendElement(kHighPriorityAtom);
|
||||
properties->AppendElement(kHighPriorityAtom);
|
||||
break;
|
||||
case nsMsgPriority::low:
|
||||
properties->AppendElement(kLowPriorityAtom);
|
||||
properties->AppendElement(kLowPriorityAtom);
|
||||
break;
|
||||
case nsMsgPriority::lowest:
|
||||
properties->AppendElement(kLowestPriorityAtom);
|
||||
properties->AppendElement(kLowestPriorityAtom);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
// we only care if label is between 1 and PREF_LABELS_MAX inclusive.
|
||||
if (NS_SUCCEEDED(msgHdr->GetLabel(&label)) && ((label >= 1) || (label <= PREF_LABELS_MAX)))
|
||||
{
|
||||
// Set the cell properties. This will color the text of a column given
|
||||
// a particular label color.
|
||||
rv = AppendLabelProperties(label, properties);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
// AppendSelectedTextColorProperties() should not be merged into
|
||||
// AppendLabelProperties() because AppendLabelProperties() is called
|
||||
// by both GetCellProperties() and GetRowProperties().
|
||||
//
|
||||
// AppendSelectedTextColorProperties() is used to only apply the
|
||||
// 'selected' text color for a label (it will not work if it's
|
||||
// only called from GetRowProperties() instead of here).
|
||||
rv = AppendSelectedTextColorProperties(label, properties);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
}
|
||||
|
||||
if (colID[0] == 'f')
|
||||
{
|
||||
|
@ -1139,7 +1437,6 @@ NS_IMETHODIMP nsMsgDBView::PerformActionOnCell(const PRUnichar *action, PRInt32
|
|||
|
||||
NS_IMETHODIMP nsMsgDBView::Open(nsIMsgFolder *folder, nsMsgViewSortTypeValue sortType, nsMsgViewSortOrderValue sortOrder, nsMsgViewFlagsTypeValue viewFlags, PRInt32 *pCount)
|
||||
{
|
||||
|
||||
m_viewFlags = viewFlags;
|
||||
m_sortOrder = sortOrder;
|
||||
m_sortType = sortType;
|
||||
|
@ -1191,6 +1488,8 @@ NS_IMETHODIMP nsMsgDBView::ReloadFolderAfterQuickSearch()
|
|||
|
||||
NS_IMETHODIMP nsMsgDBView::Close()
|
||||
{
|
||||
RemoveLabelPrefObservers();
|
||||
|
||||
if (mOutliner)
|
||||
mOutliner->RowCountChanged(0, -GetSize());
|
||||
// this is important, because the outliner will ask us for our
|
||||
|
@ -1414,6 +1713,7 @@ NS_IMETHODIMP nsMsgDBView::DoCommand(nsMsgViewCommandTypeValue command)
|
|||
case nsMsgViewCommandType::deleteMsg:
|
||||
case nsMsgViewCommandType::deleteNoTrash:
|
||||
case nsMsgViewCommandType::markThreadRead:
|
||||
case nsMsgViewCommandType::label0:
|
||||
case nsMsgViewCommandType::label1:
|
||||
case nsMsgViewCommandType::label2:
|
||||
case nsMsgViewCommandType::label3:
|
||||
|
@ -1611,12 +1911,13 @@ nsMsgDBView::ApplyCommandToIndices(nsMsgViewCommandTypeValue command, nsMsgViewI
|
|||
case nsMsgViewCommandType::markThreadRead:
|
||||
rv = SetThreadOfMsgReadByIndex(indices[i], imapUids, PR_TRUE);
|
||||
break;
|
||||
case nsMsgViewCommandType::label0:
|
||||
case nsMsgViewCommandType::label1:
|
||||
case nsMsgViewCommandType::label2:
|
||||
case nsMsgViewCommandType::label3:
|
||||
case nsMsgViewCommandType::label4:
|
||||
case nsMsgViewCommandType::label5:
|
||||
rv = SetLabelByIndex(indices[i], (command - nsMsgViewCommandType::label1 + 1));
|
||||
rv = SetLabelByIndex(indices[i], (command - nsMsgViewCommandType::label0));
|
||||
break;
|
||||
default:
|
||||
NS_ASSERTION(PR_FALSE, "unhandled command");
|
||||
|
|
|
@ -58,6 +58,8 @@
|
|||
#include "nsIAtom.h"
|
||||
#include "nsIImapIncomingServer.h"
|
||||
#include "nsIMsgSearchNotify.h"
|
||||
#include "nsIPref.h"
|
||||
#include "nsIObserver.h"
|
||||
|
||||
#include "nsIStringBundle.h"
|
||||
|
||||
|
@ -74,10 +76,18 @@ enum eFieldType {
|
|||
#define MSG_VIEW_FLAG_HASCHILDREN 0x40000000
|
||||
#define MSG_VIEW_FLAG_ISTHREAD 0x8000000
|
||||
|
||||
/* There currently only 5 labels defined */
|
||||
#define PREF_LABELS_MAX 5
|
||||
#define PREF_LABELS_DESCRIPTION "mailnews.labels.description."
|
||||
#define PREF_LABELS_COLOR "mailnews.labels.color."
|
||||
|
||||
#define LABEL_COLOR_STRING "lc-"
|
||||
#define LABEL_COLOR_WHITE_STRING "#FFFFFF"
|
||||
|
||||
// I think this will be an abstract implementation class.
|
||||
// The classes that implement the outliner support will probably
|
||||
// inherit from this class.
|
||||
class nsMsgDBView : public nsIMsgDBView, public nsIDBChangeListener, public nsIOutlinerView, public nsIMsgCopyServiceListener, public nsIMsgSearchNotify
|
||||
class nsMsgDBView : public nsIMsgDBView, public nsIDBChangeListener, public nsIOutlinerView, public nsIMsgCopyServiceListener, public nsIMsgSearchNotify, public nsIObserver
|
||||
{
|
||||
public:
|
||||
nsMsgDBView();
|
||||
|
@ -89,6 +99,7 @@ public:
|
|||
NS_DECL_NSIOUTLINERVIEW
|
||||
NS_DECL_NSIMSGCOPYSERVICELISTENER
|
||||
NS_DECL_NSIMSGSEARCHNOTIFY
|
||||
NS_DECL_NSIOBSERVER
|
||||
|
||||
protected:
|
||||
static nsrefcnt gInstanceCount;
|
||||
|
@ -104,17 +115,22 @@ protected:
|
|||
static nsIAtom* kAttachMsgAtom;
|
||||
static nsIAtom* kHasUnreadAtom;
|
||||
|
||||
#ifdef SUPPORT_PRIORITY_COLORS
|
||||
static nsIAtom* kHighestPriorityAtom;
|
||||
static nsIAtom* kHighPriorityAtom;
|
||||
static nsIAtom* kLowestPriorityAtom;
|
||||
static nsIAtom* kLowPriorityAtom;
|
||||
#endif
|
||||
|
||||
static PRUnichar* kHighestPriorityString;
|
||||
static PRUnichar* kHighPriorityString;
|
||||
static PRUnichar* kLowestPriorityString;
|
||||
static PRUnichar* kLowPriorityString;
|
||||
static PRUnichar* kNormalPriorityString;
|
||||
|
||||
|
||||
static nsIAtom* kLabelColorWhiteAtom;
|
||||
static nsIAtom* kLabelColorBlackAtom;
|
||||
|
||||
static PRUnichar* kReadString;
|
||||
static PRUnichar* kRepliedString;
|
||||
static PRUnichar* kForwardedString;
|
||||
|
@ -268,6 +284,13 @@ protected:
|
|||
nsresult GetKeyForFirstSelectedMessage(nsMsgKey *key);
|
||||
PRBool OfflineMsgSelected(nsMsgViewIndex * indices, PRInt32 numIndices);
|
||||
PRUnichar * GetString(const PRUnichar *aStringName);
|
||||
nsresult AddLabelPrefObservers();
|
||||
nsresult RemoveLabelPrefObservers();
|
||||
nsresult GetPrefLocalizedString(const char *aPrefName, nsString& aResult);
|
||||
nsresult GetLabelPrefStringAndAtom(const char *aPrefName, nsString& aColor, nsIAtom** aColorAtom);
|
||||
nsresult AppendLabelProperties(nsMsgLabelValue label, nsISupportsArray *aProperties);
|
||||
nsresult AppendSelectedTextColorProperties(nsMsgLabelValue label, nsISupportsArray *aProperties);
|
||||
nsresult InitLabelPrefs(void);
|
||||
void InitializeAtomsAndLiterals();
|
||||
PRInt32 GetLevelInUnreadView(nsIMsgDBHdr *msgHdr, nsMsgViewIndex startOfThread, nsMsgViewIndex viewIndex);
|
||||
nsresult GetImapDeleteModel(nsIMsgFolder *folder);
|
||||
|
@ -312,6 +335,12 @@ protected:
|
|||
nsCOMPtr<nsIMsgWindow> mMsgWindow;
|
||||
nsCOMPtr<nsIMsgDBViewCommandUpdater> mCommandUpdater; // we push command update notifications to the UI from this.
|
||||
nsCOMPtr<nsIStringBundle> mMessengerStringBundle;
|
||||
|
||||
// used for the preference labels
|
||||
nsString mLabelPrefDescriptions[PREF_LABELS_MAX];
|
||||
nsString mLabelPrefColors[PREF_LABELS_MAX];
|
||||
// used to cache the atoms created for each color to be displayed
|
||||
static nsIAtom* mLabelPrefColorAtoms[PREF_LABELS_MAX];
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -57,6 +57,8 @@ messenger.jar:
|
|||
content/messenger/am-prefs.js (base/prefs/resources/content/am-prefs.js)
|
||||
content/messenger/pref-mailnews.xul (base/prefs/resources/content/pref-mailnews.xul)
|
||||
content/messenger/pref-mailnews.js (base/prefs/resources/content/pref-mailnews.js)
|
||||
content/messenger/pref-labels.xul (base/prefs/resources/content/pref-labels.xul)
|
||||
content/messenger/pref-labels.js (base/prefs/resources/content/pref-labels.js)
|
||||
content/messenger/pref-viewing_messages.xul (base/prefs/resources/content/pref-viewing_messages.xul)
|
||||
content/messenger/pref-receipts.xul (base/prefs/resources/content/pref-receipts.xul)
|
||||
content/messenger/custreceipt.xul (base/prefs/resources/content/custreceipt.xul)
|
||||
|
@ -237,6 +239,7 @@ en-US.jar:
|
|||
locale/en-US/messenger/custreceipt.dtd (base/prefs/resources/locale/en-US/custreceipt.dtd)
|
||||
locale/en-US/messenger/pref-diskspace.dtd (base/prefs/resources/locale/en-US/pref-diskspace.dtd)
|
||||
locale/en-US/messenger/pref-mailnews.dtd (base/prefs/resources/locale/en-US/pref-mailnews.dtd)
|
||||
locale/en-US/messenger/pref-labels.dtd (base/prefs/resources/locale/en-US/pref-labels.dtd)
|
||||
locale/en-US/messenger/pref-receipts.dtd (base/prefs/resources/locale/en-US/pref-receipts.dtd)
|
||||
locale/en-US/messenger/pref-viewing_messages.dtd (base/prefs/resources/locale/en-US/pref-viewing_messages.dtd)
|
||||
locale/en-US/messenger/aw-accname.dtd (base/prefs/resources/locale/en-US/aw-accname.dtd)
|
||||
|
|
|
@ -340,3 +340,22 @@ pref("mail.compose.max_recycled_windows", 0);
|
|||
// false makes it so we act like 4.x
|
||||
// see bug #103010 for details
|
||||
pref("news.persist_server_open_state_in_folderpane",false);
|
||||
|
||||
// New color prefs for Labels
|
||||
pref("mailnews.labels.description.0", "chrome://messenger/locale/messenger.properties");
|
||||
pref("mailnews.labels.description.1", "chrome://messenger/locale/messenger.properties");
|
||||
pref("mailnews.labels.description.2", "chrome://messenger/locale/messenger.properties");
|
||||
pref("mailnews.labels.description.3", "chrome://messenger/locale/messenger.properties");
|
||||
pref("mailnews.labels.description.4", "chrome://messenger/locale/messenger.properties");
|
||||
pref("mailnews.labels.description.5", "chrome://messenger/locale/messenger.properties");
|
||||
|
||||
// mailews.labels.color.0 is not defined because there is no color associated with
|
||||
// this particular label. It is defined above (mailnews.lables.description.0) because
|
||||
// its description string is required in order to prepend the accesskey '0':
|
||||
// ie: '0 None'.
|
||||
pref("mailnews.labels.color.1", "#FF0000"); // default: red
|
||||
pref("mailnews.labels.color.2", "#FF9900"); // default: orange
|
||||
pref("mailnews.labels.color.3", "#009900"); // default: green
|
||||
pref("mailnews.labels.color.4", "#3333FF"); // default: blue
|
||||
pref("mailnews.labels.color.5", "#993399"); // default: purple
|
||||
|
||||
|
|
|
@ -340,3 +340,22 @@ pref("mail.compose.max_recycled_windows", 0);
|
|||
// false makes it so we act like 4.x
|
||||
// see bug #103010 for details
|
||||
pref("news.persist_server_open_state_in_folderpane",false);
|
||||
|
||||
// New color prefs for Labels
|
||||
pref("mailnews.labels.description.0", "chrome://messenger/locale/messenger.properties");
|
||||
pref("mailnews.labels.description.1", "chrome://messenger/locale/messenger.properties");
|
||||
pref("mailnews.labels.description.2", "chrome://messenger/locale/messenger.properties");
|
||||
pref("mailnews.labels.description.3", "chrome://messenger/locale/messenger.properties");
|
||||
pref("mailnews.labels.description.4", "chrome://messenger/locale/messenger.properties");
|
||||
pref("mailnews.labels.description.5", "chrome://messenger/locale/messenger.properties");
|
||||
|
||||
// mailews.labels.color.0 is not defined because there is no color associated with
|
||||
// this particular label. It is defined above (mailnews.lables.description.0) because
|
||||
// its description string is required in order to prepend the accesskey '0':
|
||||
// ie: '0 None'.
|
||||
pref("mailnews.labels.color.1", "#FF0000"); // default: red
|
||||
pref("mailnews.labels.color.2", "#FF9900"); // default: orange
|
||||
pref("mailnews.labels.color.3", "#009900"); // default: green
|
||||
pref("mailnews.labels.color.4", "#3333FF"); // default: blue
|
||||
pref("mailnews.labels.color.5", "#993399"); // default: purple
|
||||
|
||||
|
|
|
@ -17,4 +17,5 @@ classic.jar:
|
|||
skin/classic/messenger/searchDialog.css
|
||||
skin/classic/messenger/subscribe.css
|
||||
skin/classic/messenger/threadPane.css
|
||||
skin/classic/messenger/threadPaneLabels.css
|
||||
|
||||
|
|
|
@ -46,7 +46,10 @@ outlinerbody:-moz-outliner-cell-text(container, closed, hasUnread, read) {
|
|||
}
|
||||
|
||||
/* ::::: priority colors ::::: */
|
||||
|
||||
/****
|
||||
**** Priority colors currently not being used at the moment. It has been
|
||||
**** disabled so as to not conflict with the labels color feature.
|
||||
****
|
||||
outlinerbody:-moz-outliner-cell-text(priorityCol, priority-highest) {
|
||||
color:red;
|
||||
}
|
||||
|
@ -62,6 +65,7 @@ outlinerbody:-moz-outliner-cell-text(priorityCol, priority-lowest) {
|
|||
outlinerbody:-moz-outliner-cell-text(priorityCol, priority-low) {
|
||||
color: rgb(85, 85, 85);
|
||||
}
|
||||
****/
|
||||
|
||||
/* ::::: message icons ::::: */
|
||||
|
||||
|
|
|
@ -0,0 +1,562 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla 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/MPL/
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Netscape Communications Corp.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2001
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Scott MacGregor (mscott@netscape.com)
|
||||
* Joe Hewitt (hewitt@netscape.com)
|
||||
* Sean Su <ssu@netscape.com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
/* ===== threadPaneLabels.css ===========================================
|
||||
== Styles for the thread pane in the Messenger 3-pane window.
|
||||
======================================================================= */
|
||||
|
||||
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
|
||||
|
||||
/* ::::: thread labels decoration ::::: */
|
||||
|
||||
/* There are 10x7 color definitions (size of the color picker used)
|
||||
times 2 (2 style definitions for each color) + 2 general black
|
||||
and white color definitions.
|
||||
The color definitions can be in the following formats:
|
||||
color: red;
|
||||
color: #FF0000;
|
||||
color: rgb(128, 0, 0);
|
||||
*/
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFFFFF) {
|
||||
color: #FFFFFF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFFFFF, selected) {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-CCCCCC) {
|
||||
color: #CCCCCC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-CCCCCC, selected) {
|
||||
background-color: #CCCCCC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-C0C0C0) {
|
||||
color: #C0C0C0
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-C0C0C0, selected) {
|
||||
background-color: #C0C0C0;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-999999) {
|
||||
color: #999999
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-999999, selected) {
|
||||
background-color: #999999;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-666666) {
|
||||
color: #666666
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-666666, selected) {
|
||||
background-color: #666666;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-333333) {
|
||||
color: #333333
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-333333, selected) {
|
||||
background-color: #333333;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-000000) {
|
||||
color: #000000
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-000000, selected) {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFCCCC) {
|
||||
color: #FFCCCC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFCCCC, selected) {
|
||||
background-color: #FFCCCC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FF6666) {
|
||||
color: #FF6666
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FF6666, selected) {
|
||||
background-color: #FF6666;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FF0000) {
|
||||
color: #FF0000
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FF0000, selected) {
|
||||
background-color: #FF0000;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-CC0000) {
|
||||
color: #CC0000
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-CC0000, selected) {
|
||||
background-color: #CC0000;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-990000) {
|
||||
color: #990000
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-990000, selected) {
|
||||
background-color: #990000;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-660000) {
|
||||
color: #660000
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-660000, selected) {
|
||||
background-color: #660000;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-330000) {
|
||||
color: #330000
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-330000, selected) {
|
||||
background-color: #330000;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFCC99) {
|
||||
color: #FFCC99
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFCC99, selected) {
|
||||
background-color: #FFCC99;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FF9966) {
|
||||
color: #FF9966
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FF9966, selected) {
|
||||
background-color: #FF9966;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FF9900) {
|
||||
color: #FF9900
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FF9900, selected) {
|
||||
background-color: #FF9900;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FF6600) {
|
||||
color: #FF6600
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FF6600, selected) {
|
||||
background-color: #FF6600;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-CC6600) {
|
||||
color: #CC6600
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-CC6600, selected) {
|
||||
background-color: #CC6600;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-993300) {
|
||||
color: #993300
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-993300, selected) {
|
||||
background-color: #993300;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-663300) {
|
||||
color: #663300
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-663300, selected) {
|
||||
background-color: #663300;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFFF99) {
|
||||
color: #FFFF99
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFFF99, selected) {
|
||||
background-color: #FFFF99;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFFF66) {
|
||||
color: #FFFF66
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFFF66, selected) {
|
||||
background-color: #FFFF66;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFCC66) {
|
||||
color: #FFCC66
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFCC66, selected) {
|
||||
background-color: #FFCC66;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFCC33) {
|
||||
color: #FFCC33
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFCC33, selected) {
|
||||
background-color: #FFCC33;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-CC9933) {
|
||||
color: #CC9933
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-CC9933, selected) {
|
||||
background-color: #CC9933;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-996633) {
|
||||
color: #996633
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-996633, selected) {
|
||||
background-color: #996633;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-663333) {
|
||||
color: #663333
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-663333, selected) {
|
||||
background-color: #663333;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFFFCC) {
|
||||
color: #FFFFCC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFFFCC, selected) {
|
||||
background-color: #FFFFCC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFFF33) {
|
||||
color: #FFFF33
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFFF33, selected) {
|
||||
background-color: #FFFF33;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFFF00) {
|
||||
color: #FFFF00
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFFF00, selected) {
|
||||
background-color: #FFFF00;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFCC00) {
|
||||
color: #FFCC00
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFCC00, selected) {
|
||||
background-color: #FFCC00;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-999900) {
|
||||
color: #999900
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-999900, selected) {
|
||||
background-color: #999900;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-666600) {
|
||||
color: #666600
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-666600, selected) {
|
||||
background-color: #666600;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-333300) {
|
||||
color: #333300
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-333300, selected) {
|
||||
background-color: #333300;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-99FF99) {
|
||||
color: #99FF99
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-99FF99, selected) {
|
||||
background-color: #99FF99;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-66FF99) {
|
||||
color: #66FF99
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-66FF99, selected) {
|
||||
background-color: #66FF99;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-33FF33) {
|
||||
color: #33FF33
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-33FF33, selected) {
|
||||
background-color: #33FF33;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-33CC00) {
|
||||
color: #33CC00
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-33CC00, selected) {
|
||||
background-color: #33CC00;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-009900) {
|
||||
color: #009900
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-009900, selected) {
|
||||
background-color: #009900;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-006600) {
|
||||
color: #006600
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-006600, selected) {
|
||||
background-color: #006600;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-003300) {
|
||||
color: #003300
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-003300, selected) {
|
||||
background-color: #003300;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-99FFFF) {
|
||||
color: #99FFFF
|
||||
}
|
||||
outlinerbody:-moz-outlinerrow(lc-99FFFF, selected) {
|
||||
background-color: #99FFFF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-33FFFF) {
|
||||
color: #33FFFF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-33FFFF, selected) {
|
||||
background-color: #33FFFF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-66CCCC) {
|
||||
color: #66CCCC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-66CCCC, selected) {
|
||||
background-color: #66CCCC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-00CCCC) {
|
||||
color: #00CCCC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-00CCCC, selected) {
|
||||
background-color: #00CCCC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-339999) {
|
||||
color: #339999
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-339999, selected) {
|
||||
background-color: #339999;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-336666) {
|
||||
color: #336666
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-336666, selected) {
|
||||
background-color: #336666;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-003333) {
|
||||
color: #003333
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-003333, selected) {
|
||||
background-color: #003333;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-CCFFFF) {
|
||||
color: #CCFFFF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-CCFFFF, selected) {
|
||||
background-color: #CCFFFF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-66FFFF) {
|
||||
color: #66FFFF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-66FFFF, selected) {
|
||||
background-color: #66FFFF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-33CCFF) {
|
||||
color: #33CCFF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-33CCFF, selected) {
|
||||
background-color: #33CCFF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-3366FF) {
|
||||
color: #3366FF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-3366FF, selected) {
|
||||
background-color: #3366FF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-3333FF) {
|
||||
color: #3333FF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-3333FF, selected) {
|
||||
background-color: #3333FF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-000099) {
|
||||
color: #000099
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-000099, selected) {
|
||||
background-color: #000099;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-000066) {
|
||||
color: #000066
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-000066, selected) {
|
||||
background-color: #000066;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-CCCCFF) {
|
||||
color: #CCCCFF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-CCCCFF, selected) {
|
||||
background-color: #CCCCFF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-9999FF) {
|
||||
color: #9999FF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-9999FF, selected) {
|
||||
background-color: #9999FF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-6666CC) {
|
||||
color: #6666CC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-6666CC, selected) {
|
||||
background-color: #6666CC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-6633FF) {
|
||||
color: #6633FF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-6633FF, selected) {
|
||||
background-color: #6633FF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-6600CC) {
|
||||
color: #6600CC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-6600CC, selected) {
|
||||
background-color: #6600CC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-333399) {
|
||||
color: #333399
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-333399, selected) {
|
||||
background-color: #333399;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-330099) {
|
||||
color: #330099
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-330099, selected) {
|
||||
background-color: #330099;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFCCFF) {
|
||||
color: #FFCCFF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFCCFF, selected) {
|
||||
background-color: #FFCCFF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FF99FF) {
|
||||
color: #FF99FF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FF99FF, selected) {
|
||||
background-color: #FF99FF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-CC66CC) {
|
||||
color: #CC66CC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-CC66CC, selected) {
|
||||
background-color: #CC66CC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-CC33CC) {
|
||||
color: #CC33CC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-CC33CC, selected) {
|
||||
background-color: #CC33CC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-993399) {
|
||||
color: #993399
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-993399, selected) {
|
||||
background-color: #993399;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-663366) {
|
||||
color: #663366
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-663366, selected) {
|
||||
background-color: #663366;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-330033) {
|
||||
color: #330033
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-330033, selected) {
|
||||
background-color: #330033;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-white, selected) {
|
||||
color: #FFFFFF
|
||||
}
|
||||
outlinerbody:-moz-outliner-cell-text(lc-black, selected) {
|
||||
color: #000000
|
||||
}
|
||||
|
|
@ -17,4 +17,5 @@ classic.jar:
|
|||
skin/classic/messenger/searchDialog.css
|
||||
skin/classic/messenger/subscribe.css
|
||||
skin/classic/messenger/threadPane.css
|
||||
skin/classic/messenger/threadPaneLabels.css
|
||||
|
||||
|
|
|
@ -46,7 +46,10 @@ outlinerbody:-moz-outliner-cell-text(container, closed, hasUnread, read) {
|
|||
}
|
||||
|
||||
/* ::::: priority colors ::::: */
|
||||
|
||||
/****
|
||||
**** Priority colors currently not being used at the moment. It has been
|
||||
**** disabled so as to not conflict with the labels color feature.
|
||||
****
|
||||
outlinerbody:-moz-outliner-cell-text(priorityCol, priority-highest) {
|
||||
color: red;
|
||||
}
|
||||
|
@ -70,6 +73,7 @@ outlinerbody:-moz-outliner-cell-text(priorityCol, selected) {
|
|||
outlinerbody:-moz-outliner-cell-text(priorityCol, selected, focus) {
|
||||
color: HighlightText;
|
||||
}
|
||||
****/
|
||||
|
||||
/* ::::: message icons ::::: */
|
||||
|
||||
|
|
|
@ -0,0 +1,562 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla 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/MPL/
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Netscape Communications Corp.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2001
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Scott MacGregor (mscott@netscape.com)
|
||||
* Joe Hewitt (hewitt@netscape.com)
|
||||
* Sean Su <ssu@netscape.com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
/* ===== threadPaneLabels.css ===========================================
|
||||
== Styles for the thread pane in the Messenger 3-pane window.
|
||||
======================================================================= */
|
||||
|
||||
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
|
||||
|
||||
/* ::::: thread labels decoration ::::: */
|
||||
|
||||
/* There are 10x7 color definitions (size of the color picker used)
|
||||
times 2 (2 style definitions for each color) + 2 general black
|
||||
and white color definitions.
|
||||
The color definitions can be in the following formats:
|
||||
color: red;
|
||||
color: #FF0000;
|
||||
color: rgb(128, 0, 0);
|
||||
*/
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFFFFF) {
|
||||
color: #FFFFFF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFFFFF, selected) {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-CCCCCC) {
|
||||
color: #CCCCCC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-CCCCCC, selected) {
|
||||
background-color: #CCCCCC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-C0C0C0) {
|
||||
color: #C0C0C0
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-C0C0C0, selected) {
|
||||
background-color: #C0C0C0;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-999999) {
|
||||
color: #999999
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-999999, selected) {
|
||||
background-color: #999999;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-666666) {
|
||||
color: #666666
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-666666, selected) {
|
||||
background-color: #666666;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-333333) {
|
||||
color: #333333
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-333333, selected) {
|
||||
background-color: #333333;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-000000) {
|
||||
color: #000000
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-000000, selected) {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFCCCC) {
|
||||
color: #FFCCCC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFCCCC, selected) {
|
||||
background-color: #FFCCCC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FF6666) {
|
||||
color: #FF6666
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FF6666, selected) {
|
||||
background-color: #FF6666;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FF0000) {
|
||||
color: #FF0000
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FF0000, selected) {
|
||||
background-color: #FF0000;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-CC0000) {
|
||||
color: #CC0000
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-CC0000, selected) {
|
||||
background-color: #CC0000;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-990000) {
|
||||
color: #990000
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-990000, selected) {
|
||||
background-color: #990000;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-660000) {
|
||||
color: #660000
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-660000, selected) {
|
||||
background-color: #660000;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-330000) {
|
||||
color: #330000
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-330000, selected) {
|
||||
background-color: #330000;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFCC99) {
|
||||
color: #FFCC99
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFCC99, selected) {
|
||||
background-color: #FFCC99;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FF9966) {
|
||||
color: #FF9966
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FF9966, selected) {
|
||||
background-color: #FF9966;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FF9900) {
|
||||
color: #FF9900
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FF9900, selected) {
|
||||
background-color: #FF9900;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FF6600) {
|
||||
color: #FF6600
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FF6600, selected) {
|
||||
background-color: #FF6600;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-CC6600) {
|
||||
color: #CC6600
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-CC6600, selected) {
|
||||
background-color: #CC6600;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-993300) {
|
||||
color: #993300
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-993300, selected) {
|
||||
background-color: #993300;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-663300) {
|
||||
color: #663300
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-663300, selected) {
|
||||
background-color: #663300;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFFF99) {
|
||||
color: #FFFF99
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFFF99, selected) {
|
||||
background-color: #FFFF99;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFFF66) {
|
||||
color: #FFFF66
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFFF66, selected) {
|
||||
background-color: #FFFF66;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFCC66) {
|
||||
color: #FFCC66
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFCC66, selected) {
|
||||
background-color: #FFCC66;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFCC33) {
|
||||
color: #FFCC33
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFCC33, selected) {
|
||||
background-color: #FFCC33;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-CC9933) {
|
||||
color: #CC9933
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-CC9933, selected) {
|
||||
background-color: #CC9933;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-996633) {
|
||||
color: #996633
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-996633, selected) {
|
||||
background-color: #996633;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-663333) {
|
||||
color: #663333
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-663333, selected) {
|
||||
background-color: #663333;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFFFCC) {
|
||||
color: #FFFFCC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFFFCC, selected) {
|
||||
background-color: #FFFFCC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFFF33) {
|
||||
color: #FFFF33
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFFF33, selected) {
|
||||
background-color: #FFFF33;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFFF00) {
|
||||
color: #FFFF00
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFFF00, selected) {
|
||||
background-color: #FFFF00;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFCC00) {
|
||||
color: #FFCC00
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFCC00, selected) {
|
||||
background-color: #FFCC00;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-999900) {
|
||||
color: #999900
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-999900, selected) {
|
||||
background-color: #999900;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-666600) {
|
||||
color: #666600
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-666600, selected) {
|
||||
background-color: #666600;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-333300) {
|
||||
color: #333300
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-333300, selected) {
|
||||
background-color: #333300;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-99FF99) {
|
||||
color: #99FF99
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-99FF99, selected) {
|
||||
background-color: #99FF99;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-66FF99) {
|
||||
color: #66FF99
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-66FF99, selected) {
|
||||
background-color: #66FF99;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-33FF33) {
|
||||
color: #33FF33
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-33FF33, selected) {
|
||||
background-color: #33FF33;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-33CC00) {
|
||||
color: #33CC00
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-33CC00, selected) {
|
||||
background-color: #33CC00;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-009900) {
|
||||
color: #009900
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-009900, selected) {
|
||||
background-color: #009900;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-006600) {
|
||||
color: #006600
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-006600, selected) {
|
||||
background-color: #006600;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-003300) {
|
||||
color: #003300
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-003300, selected) {
|
||||
background-color: #003300;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-99FFFF) {
|
||||
color: #99FFFF
|
||||
}
|
||||
outlinerbody:-moz-outlinerrow(lc-99FFFF, selected) {
|
||||
background-color: #99FFFF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-33FFFF) {
|
||||
color: #33FFFF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-33FFFF, selected) {
|
||||
background-color: #33FFFF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-66CCCC) {
|
||||
color: #66CCCC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-66CCCC, selected) {
|
||||
background-color: #66CCCC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-00CCCC) {
|
||||
color: #00CCCC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-00CCCC, selected) {
|
||||
background-color: #00CCCC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-339999) {
|
||||
color: #339999
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-339999, selected) {
|
||||
background-color: #339999;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-336666) {
|
||||
color: #336666
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-336666, selected) {
|
||||
background-color: #336666;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-003333) {
|
||||
color: #003333
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-003333, selected) {
|
||||
background-color: #003333;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-CCFFFF) {
|
||||
color: #CCFFFF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-CCFFFF, selected) {
|
||||
background-color: #CCFFFF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-66FFFF) {
|
||||
color: #66FFFF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-66FFFF, selected) {
|
||||
background-color: #66FFFF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-33CCFF) {
|
||||
color: #33CCFF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-33CCFF, selected) {
|
||||
background-color: #33CCFF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-3366FF) {
|
||||
color: #3366FF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-3366FF, selected) {
|
||||
background-color: #3366FF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-3333FF) {
|
||||
color: #3333FF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-3333FF, selected) {
|
||||
background-color: #3333FF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-000099) {
|
||||
color: #000099
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-000099, selected) {
|
||||
background-color: #000099;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-000066) {
|
||||
color: #000066
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-000066, selected) {
|
||||
background-color: #000066;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-CCCCFF) {
|
||||
color: #CCCCFF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-CCCCFF, selected) {
|
||||
background-color: #CCCCFF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-9999FF) {
|
||||
color: #9999FF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-9999FF, selected) {
|
||||
background-color: #9999FF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-6666CC) {
|
||||
color: #6666CC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-6666CC, selected) {
|
||||
background-color: #6666CC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-6633FF) {
|
||||
color: #6633FF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-6633FF, selected) {
|
||||
background-color: #6633FF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-6600CC) {
|
||||
color: #6600CC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-6600CC, selected) {
|
||||
background-color: #6600CC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-333399) {
|
||||
color: #333399
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-333399, selected) {
|
||||
background-color: #333399;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-330099) {
|
||||
color: #330099
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-330099, selected) {
|
||||
background-color: #330099;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFCCFF) {
|
||||
color: #FFCCFF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFCCFF, selected) {
|
||||
background-color: #FFCCFF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FF99FF) {
|
||||
color: #FF99FF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FF99FF, selected) {
|
||||
background-color: #FF99FF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-CC66CC) {
|
||||
color: #CC66CC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-CC66CC, selected) {
|
||||
background-color: #CC66CC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-CC33CC) {
|
||||
color: #CC33CC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-CC33CC, selected) {
|
||||
background-color: #CC33CC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-993399) {
|
||||
color: #993399
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-993399, selected) {
|
||||
background-color: #993399;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-663366) {
|
||||
color: #663366
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-663366, selected) {
|
||||
background-color: #663366;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-330033) {
|
||||
color: #330033
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-330033, selected) {
|
||||
background-color: #330033;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-white, selected) {
|
||||
color: #FFFFFF
|
||||
}
|
||||
outlinerbody:-moz-outliner-cell-text(lc-black, selected) {
|
||||
color: #000000
|
||||
}
|
||||
|
|
@ -597,6 +597,7 @@ modern.jar:
|
|||
skin/modern/messenger/searchDialog.css (messenger/searchDialog.css)
|
||||
skin/modern/messenger/subscribe.css (messenger/subscribe.css)
|
||||
skin/modern/messenger/threadPane.css (messenger/threadPane.css)
|
||||
skin/modern/messenger/threadPaneLabels.css (messenger/threadPaneLabels.css)
|
||||
skin/modern/messenger/addressbook/addressbook.css (messenger/addressbook/addressbook.css)
|
||||
skin/modern/messenger/addressbook/addressPanes.css (messenger/addressbook/addressPanes.css)
|
||||
skin/modern/messenger/addressbook/cardDialog.css (messenger/addressbook/cardDialog.css)
|
||||
|
|
|
@ -46,7 +46,10 @@ outlinerbody:-moz-outliner-cell-text(container, closed, hasUnread, read) {
|
|||
}
|
||||
|
||||
/* ::::: priority colors ::::: */
|
||||
|
||||
/****
|
||||
**** Priority colors currently not being used at the moment. It has been
|
||||
**** disabled so as to not conflict with the labels color feature.
|
||||
****
|
||||
outlinerbody:-moz-outliner-cell-text(priorityCol, priority-highest) {
|
||||
color: red;
|
||||
}
|
||||
|
@ -70,6 +73,7 @@ outlinerbody:-moz-outliner-cell-text(priorityCol, selected, focus) {
|
|||
outlinerbody:-moz-outliner-cell-text(priorityCol, selected, focus) {
|
||||
color: #FFFFFF;
|
||||
}
|
||||
****/
|
||||
|
||||
/* ::::: message icons ::::: */
|
||||
|
||||
|
|
|
@ -0,0 +1,562 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla 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/MPL/
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Netscape Communications Corp.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2001
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Scott MacGregor (mscott@netscape.com)
|
||||
* Joe Hewitt (hewitt@netscape.com)
|
||||
* Sean Su <ssu@netscape.com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
/* ===== threadPaneLabels.css ===========================================
|
||||
== Styles for the thread pane in the Messenger 3-pane window.
|
||||
======================================================================= */
|
||||
|
||||
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
|
||||
|
||||
/* ::::: thread labels decoration ::::: */
|
||||
|
||||
/* There are 10x7 color definitions (size of the color picker used)
|
||||
times 2 (2 style definitions for each color) + 2 general black
|
||||
and white color definitions.
|
||||
The color definitions can be in the following formats:
|
||||
color: red;
|
||||
color: #FF0000;
|
||||
color: rgb(128, 0, 0);
|
||||
*/
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFFFFF) {
|
||||
color: #FFFFFF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFFFFF, selected) {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-CCCCCC) {
|
||||
color: #CCCCCC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-CCCCCC, selected) {
|
||||
background-color: #CCCCCC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-C0C0C0) {
|
||||
color: #C0C0C0
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-C0C0C0, selected) {
|
||||
background-color: #C0C0C0;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-999999) {
|
||||
color: #999999
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-999999, selected) {
|
||||
background-color: #999999;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-666666) {
|
||||
color: #666666
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-666666, selected) {
|
||||
background-color: #666666;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-333333) {
|
||||
color: #333333
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-333333, selected) {
|
||||
background-color: #333333;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-000000) {
|
||||
color: #000000
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-000000, selected) {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFCCCC) {
|
||||
color: #FFCCCC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFCCCC, selected) {
|
||||
background-color: #FFCCCC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FF6666) {
|
||||
color: #FF6666
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FF6666, selected) {
|
||||
background-color: #FF6666;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FF0000) {
|
||||
color: #FF0000
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FF0000, selected) {
|
||||
background-color: #FF0000;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-CC0000) {
|
||||
color: #CC0000
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-CC0000, selected) {
|
||||
background-color: #CC0000;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-990000) {
|
||||
color: #990000
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-990000, selected) {
|
||||
background-color: #990000;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-660000) {
|
||||
color: #660000
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-660000, selected) {
|
||||
background-color: #660000;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-330000) {
|
||||
color: #330000
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-330000, selected) {
|
||||
background-color: #330000;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFCC99) {
|
||||
color: #FFCC99
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFCC99, selected) {
|
||||
background-color: #FFCC99;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FF9966) {
|
||||
color: #FF9966
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FF9966, selected) {
|
||||
background-color: #FF9966;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FF9900) {
|
||||
color: #FF9900
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FF9900, selected) {
|
||||
background-color: #FF9900;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FF6600) {
|
||||
color: #FF6600
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FF6600, selected) {
|
||||
background-color: #FF6600;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-CC6600) {
|
||||
color: #CC6600
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-CC6600, selected) {
|
||||
background-color: #CC6600;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-993300) {
|
||||
color: #993300
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-993300, selected) {
|
||||
background-color: #993300;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-663300) {
|
||||
color: #663300
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-663300, selected) {
|
||||
background-color: #663300;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFFF99) {
|
||||
color: #FFFF99
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFFF99, selected) {
|
||||
background-color: #FFFF99;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFFF66) {
|
||||
color: #FFFF66
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFFF66, selected) {
|
||||
background-color: #FFFF66;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFCC66) {
|
||||
color: #FFCC66
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFCC66, selected) {
|
||||
background-color: #FFCC66;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFCC33) {
|
||||
color: #FFCC33
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFCC33, selected) {
|
||||
background-color: #FFCC33;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-CC9933) {
|
||||
color: #CC9933
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-CC9933, selected) {
|
||||
background-color: #CC9933;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-996633) {
|
||||
color: #996633
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-996633, selected) {
|
||||
background-color: #996633;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-663333) {
|
||||
color: #663333
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-663333, selected) {
|
||||
background-color: #663333;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFFFCC) {
|
||||
color: #FFFFCC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFFFCC, selected) {
|
||||
background-color: #FFFFCC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFFF33) {
|
||||
color: #FFFF33
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFFF33, selected) {
|
||||
background-color: #FFFF33;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFFF00) {
|
||||
color: #FFFF00
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFFF00, selected) {
|
||||
background-color: #FFFF00;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFCC00) {
|
||||
color: #FFCC00
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFCC00, selected) {
|
||||
background-color: #FFCC00;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-999900) {
|
||||
color: #999900
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-999900, selected) {
|
||||
background-color: #999900;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-666600) {
|
||||
color: #666600
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-666600, selected) {
|
||||
background-color: #666600;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-333300) {
|
||||
color: #333300
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-333300, selected) {
|
||||
background-color: #333300;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-99FF99) {
|
||||
color: #99FF99
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-99FF99, selected) {
|
||||
background-color: #99FF99;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-66FF99) {
|
||||
color: #66FF99
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-66FF99, selected) {
|
||||
background-color: #66FF99;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-33FF33) {
|
||||
color: #33FF33
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-33FF33, selected) {
|
||||
background-color: #33FF33;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-33CC00) {
|
||||
color: #33CC00
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-33CC00, selected) {
|
||||
background-color: #33CC00;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-009900) {
|
||||
color: #009900
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-009900, selected) {
|
||||
background-color: #009900;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-006600) {
|
||||
color: #006600
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-006600, selected) {
|
||||
background-color: #006600;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-003300) {
|
||||
color: #003300
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-003300, selected) {
|
||||
background-color: #003300;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-99FFFF) {
|
||||
color: #99FFFF
|
||||
}
|
||||
outlinerbody:-moz-outlinerrow(lc-99FFFF, selected) {
|
||||
background-color: #99FFFF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-33FFFF) {
|
||||
color: #33FFFF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-33FFFF, selected) {
|
||||
background-color: #33FFFF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-66CCCC) {
|
||||
color: #66CCCC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-66CCCC, selected) {
|
||||
background-color: #66CCCC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-00CCCC) {
|
||||
color: #00CCCC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-00CCCC, selected) {
|
||||
background-color: #00CCCC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-339999) {
|
||||
color: #339999
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-339999, selected) {
|
||||
background-color: #339999;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-336666) {
|
||||
color: #336666
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-336666, selected) {
|
||||
background-color: #336666;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-003333) {
|
||||
color: #003333
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-003333, selected) {
|
||||
background-color: #003333;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-CCFFFF) {
|
||||
color: #CCFFFF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-CCFFFF, selected) {
|
||||
background-color: #CCFFFF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-66FFFF) {
|
||||
color: #66FFFF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-66FFFF, selected) {
|
||||
background-color: #66FFFF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-33CCFF) {
|
||||
color: #33CCFF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-33CCFF, selected) {
|
||||
background-color: #33CCFF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-3366FF) {
|
||||
color: #3366FF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-3366FF, selected) {
|
||||
background-color: #3366FF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-3333FF) {
|
||||
color: #3333FF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-3333FF, selected) {
|
||||
background-color: #3333FF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-000099) {
|
||||
color: #000099
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-000099, selected) {
|
||||
background-color: #000099;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-000066) {
|
||||
color: #000066
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-000066, selected) {
|
||||
background-color: #000066;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-CCCCFF) {
|
||||
color: #CCCCFF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-CCCCFF, selected) {
|
||||
background-color: #CCCCFF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-9999FF) {
|
||||
color: #9999FF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-9999FF, selected) {
|
||||
background-color: #9999FF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-6666CC) {
|
||||
color: #6666CC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-6666CC, selected) {
|
||||
background-color: #6666CC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-6633FF) {
|
||||
color: #6633FF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-6633FF, selected) {
|
||||
background-color: #6633FF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-6600CC) {
|
||||
color: #6600CC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-6600CC, selected) {
|
||||
background-color: #6600CC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-333399) {
|
||||
color: #333399
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-333399, selected) {
|
||||
background-color: #333399;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-330099) {
|
||||
color: #330099
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-330099, selected) {
|
||||
background-color: #330099;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FFCCFF) {
|
||||
color: #FFCCFF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FFCCFF, selected) {
|
||||
background-color: #FFCCFF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-FF99FF) {
|
||||
color: #FF99FF
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-FF99FF, selected) {
|
||||
background-color: #FF99FF;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-CC66CC) {
|
||||
color: #CC66CC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-CC66CC, selected) {
|
||||
background-color: #CC66CC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-CC33CC) {
|
||||
color: #CC33CC
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-CC33CC, selected) {
|
||||
background-color: #CC33CC;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-993399) {
|
||||
color: #993399
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-993399, selected) {
|
||||
background-color: #993399;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-663366) {
|
||||
color: #663366
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-663366, selected) {
|
||||
background-color: #663366;
|
||||
}
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-330033) {
|
||||
color: #330033
|
||||
}
|
||||
outlinerbody:-moz-outliner-row(lc-330033, selected) {
|
||||
background-color: #330033;
|
||||
}
|
||||
|
||||
|
||||
outlinerbody:-moz-outliner-cell-text(lc-white, selected) {
|
||||
color: #FFFFFF
|
||||
}
|
||||
outlinerbody:-moz-outliner-cell-text(lc-black, selected) {
|
||||
color: #000000
|
||||
}
|
||||
|
Загрузка…
Ссылка в новой задаче