Расширение Firefox - Как использовать предпочтения для menulist? - PullRequest
1 голос
/ 29 марта 2011

Я пытаюсь использовать тег <preference> для сохранения состояния <menulist>.Но я не могу понять, что я делаю неправильно.

Вот мой код:

    <preferences>
        <preference id="selectpref1" name="preference.name" type="int" /> 
    </preferences>


    <menulist>
        <menupopup preference="selectpref1">
            <menuitem label="option 1" value="1"/>
            <menuitem label="option 2" value="2"/>
            <menuitem label="option 3" value="3"/>
            <menuitem label="option 4" value="4"/>
        </menupopup>
   </menulist>

Ответы [ 2 ]

0 голосов
/ 29 марта 2011

Вы можете сделать это, вот код из моего расширения:

<hbox align="center">
    <label value="Log Level" control="loglevellist" />
    <menulist id="loglevellist" preference="loglevel" preference-editable="true">
      <menupopup>
        <menuitem label="Full" value="0" />
        <menuitem label="Relevant" value ="1" />
        <menuitem label="Warning" value="2" />
        <menuitem label="Error" value="3" />
        <menuitem label="Critical" value="4" />
      </menupopup>
    </menulist>
  </hbox>

логарифмическое предпочтение является целым числом. В основном я думаю, что вам не хватает только атрибута, редактируемого атрибут

EDIT: Я не вижу должным образом, у вас есть атрибут предпочтения в menupopup вместо этого в menulist - предпочтение должно идти в menulist.

0 голосов
/ 29 марта 2011

Я почти уверен, что ты не сможешь этого сделать.Вам просто нужно добавить oncommand к каждому из пунктов меню, который изменяет предпочтения.Вы также можете добавить прослушиватель для события «popupshowing», который проверяет предпочтения и ставит галочку в зависимости от того, какой из них выбран в данный момент.

См. https://developer.mozilla.org/en/Code_snippets/Preferences

...