Полезная информация

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

№122-07-2009 13:26:33

hydrolizer
Участник
 
Группа: Extensions
Зарегистрирован: 22-07-2009
Сообщений: 1945
UA: Firefox 3.5

Изменения в XUL API на смене версий Firefox 3.0-3.5 касательно hotkeys

Доброе время суток.
Проблема в следующем: некогда, под версию FF 3.0.* я написал некое расширение, исключительно для собственных нужд. Нужные функции расширения срабатывали как по hotkeys, так и по клику кнопки на тулбаре. После перехода на версию 3.5 hotkeys работать перестали, хотя само расширение вполне работает по клику на кнопке - что, однако, несколько неудобно. В чем здесь заключается причина, и как сие исправить? Код оверлея таков:

Выделить код

Код:

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://skl/skin/skl.css" type="text/css"?>
<overlay id="skl-overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
	<script type="application/x-javascript" src="chrome://skl/content/skl.js" />
	<toolbarpalette id="BrowserToolbarPalette">
		<keyset id="sklKeyset">
		    <key id="key_repair" modifiers="alt" key="x" oncommand="repair(true)" disabled="false" />
		    <key id="key_casing" modifiers="alt" key="z" oncommand="repair(false)" disabled="false" />
		</keyset>
                <toolbarbutton id="myextension-button" label="Switch LС" type="menu" ToolTipText="Switch LС">
                    <menupopup>
                        <menuitem label="Switch Layout" accesskey="x"
                                  tooltiptext="Switch Layout"
                                  oncommand="repair(true)" />
                        <menuseparator />
                        <menuitem label="Switch Case" accesskey="z"
                                  tooltiptext="Switch Case"
                                  oncommand="repair(false)" />
                    </menupopup>
                </toolbarbutton>
	</toolbarpalette>
</overlay>

Код скрипта, я думаю, здесь некритичен, но, если понадобится - могу привести (как я уже писал выше, он вполне корректно отрабатывает при нажатии кнопки тулбара).

Отсутствует

 

№222-07-2009 14:26:06

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.5
Веб-сайт

Re: Изменения в XUL API на смене версий Firefox 3.0-3.5 касательно hotkeys

hydrolizer
keyset надо поместить внутрь toolbarbutton или до toolbarpalette


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№322-07-2009 15:14:33

hydrolizer
Участник
 
Группа: Extensions
Зарегистрирован: 22-07-2009
Сообщений: 1945
UA: Firefox 3.5

Re: Изменения в XUL API на смене версий Firefox 3.0-3.5 касательно hotkeys

Anton
keyset до toolbarpalette - не сработало, а вот внутрь toolbarbutton - вполне, сейчас всё работает. как надо, спасибо.
И еще один вопрос: дело в том, что желаемый функционал в расширении был реализован не до конца. Оно задумывалось как некий аналог punto switcher (который сам по себе я не люблю, и не использую), но только внутри FF, и, соответственно, должно было переводить в нужную раскладку текст, набранный в неправильной раскладке (xnj-nj nbgf nfrjuj->что-то типа такого), и переключать саму раскладку клавиатуры. Поскольку такового расширения на AMO я не отыскал, то решил реализовать сам. С первой частью более-менее управился, а вот со второй.. в принципе, я знаю, как переключить раскладку с помощью Win32API, но как до него достучаться из FF? XPCOM? Или существуют какие-то другие способы? В какую сторону копать?

Отредактировано hydrolizer (22-07-2009 15:15:02)

Отсутствует

 

№422-07-2009 21:01:55

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.5
Веб-сайт

Re: Изменения в XUL API на смене версий Firefox 3.0-3.5 касательно hotkeys

hydrolizer пишет

XPCOM?

Разве что бинарный. jsxpcom, напрямую вряд ли может переключить раскладку.

В какую сторону копать?

Скорее всего, только в сторону передачи управления какой-нибудь программе-"переключалке" с помощью nsIProcess.


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]