Есть кнопка, которую можно добавлять на панели.

translatebar.xul:

Выделить код

Код:

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://translatebar/content/translatebar.css" type="text/css"?>
<!DOCTYPE window SYSTEM "chrome://translatebar/locale/translatebar.dtd">

<overlay id="TransBar-Overlay"
	xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
	xmlns:nc="http://home.netscape.com/NC-rdf#">

    <toolbarpalette id="BrowserToolbarPalette">
        <toolbarbutton id="TransBar-Button" type="menu-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
                              tooltiptext="&transbar.button.tooltip;" oncommand="TranslatePage();" label="&transbar.button.text;">
            <menupopup id="TransBar-Button-MP" onpopupshowing="MenuShowing();">
            </menupopup>
        </toolbarbutton>
    </toolbarpalette>
</overlay>

translatebar.css:

Выделить код

Код:

@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");

#TransBar-Button {
  list-style-image: url("chrome://translatebar/content/button.png");
}

toolbar[iconsize="small"] #TransBar-Button {
  list-style-image: url("chrome://translatebar/content/button_small.png");
}

Так вот, в окне "Настройка панели инструментов" значок не отображается, а в остальном все нормально.
В чем может быть ошибка?
И можно ли обойтись без css, так, чтобы был и маленький и большой значки?

в окне "Настройка панели инструментов" значок не отображается

Может быть, translatebar.css надо поместить в chrome://translatebar/skin/translatebar.css ?

И можно ли обойтись без css, так, чтобы был и маленький и большой значки?

Можно, но с css, по-моему, гораздо проще. Зачем лишний код ?

В параметры TransBar-Button надо добавить:
image="chrome://translatebar/content/button.png"

Может быть, translatebar.css надо поместить в chrome://translatebar/skin/translatebar.css ?

Попробую, но вообще-то в некоторых расширениях файлы css помещаются в content и все работает. Да и у меня в кнопке размещенной на панели все нормально, только в окне настройки трабл.

В параметры TransBar-Button надо добавить:
image="chrome://translatebar/content/button.png"

В этом случае когда включаешь маленькие значки размер кнопки и картинки на ней не меняется.

Sky пишет

...вообще-то в некоторых расширениях файлы css помещаются в content и все работает. Да и у меня в кнопке размещенной на панели все нормально, только в окне настройки трабл...

Ну если очень уж хочется css в content'е, тогда придётся перекрывать оверлеем именно окно настройки, chrome://global/content/customizeToolbar.xul.

А если попробовать в chrome.manifest "пришить" стиль к customizeToolbar.xul:

style    chrome://global/content/customizeToolbar.xul    chrome://translatebar/content/translatebar.css

?
Точно так же можно поступить и с translatebar.xul, т.е. не объявлять css в самом xul, а только в манифесте.
По-моему, так должно работать..

Всем спасибо за помощь!
Перенес файл css в папку skin - все заработало.