Добавление узла в дереве настроек аккаунта диалога настроек аккаунта Thunderbirds - PullRequest
0 голосов
/ 27 сентября 2011

Я разрабатываю надстройку Thunderbird, в которой я хочу добавить узел к каждой учетной записи почты в менеджере учетных записей (открывается, когда пользователь нажимает на Инструменты-> Настройки учетной записи).Этот узел должен показывать панель с дополнительными настройками для учетной записи.

Я видел, что дерево в этом диалоговом окне использует не XUL, а JavaScript.Поэтому я сделал некоторые изменения в файле JavaScript, но если завтра выйдет новая версия, то у меня возникнут проблемы с моим дополнением.Поэтому мне нужно добавить узел как оверлей XUL, но это не представляется возможным.

1 Ответ

1 голос
/ 27 сентября 2011

Нельзя использовать XUL-оверлеи для наложения контента, который создается динамически. Но, к счастью, менеджер аккаунта явно расширяемый. Есть даже некоторая документация , охватывающая ваш конкретный случай. Короче говоря, вам нужно создать компонент XPCOM и зарегистрировать его в категории mailnews-accountmanager-extensions. Затем менеджер учетных записей загрузит ваш компонент и вызовет метод showPanel() для каждой учетной записи, чтобы определить, хотите ли вы, чтобы ваша панель отображалась для этой учетной записи. Необходимо правильно установить свойства chromePackageName и name, панель будет загружена из Chrome: //chromePackageName/content/am-name.xul и имя панели из Chrome : //chromePackageName/locale/am-name.properties. Обратите внимание, что начиная с Thunderbird 4 XPCOM компоненты необходимо зарегистрировать в chrome.manifest.

...