Subversion Repositories general

Compare Revisions

Ignore whitespace Rev 1334 → Rev 1335

/mozilla/latrus/trunk/src/chrome/content/latrus.js
1,15 → 1,16
var LatRus = {
inited: false,
worker: null,
enabled: false,
showHint: false,
hintPanelInited: false,
inited: false,
worker: null,
enabled: false,
showHint: false,
hintPanelInited: false,
lastKnownSelection: null,
 
init: function()
{
LatRus.worker = new LatRusWorker_Rus();
LatRus.setEnabled(false);
LatRus.setHint(false);
LatRus.setEnabled(LatRus.enabled);
LatRus.setHint(LatRus.showHint);
inited = true;
},
 
19,12 → 20,19
if(aEvent.ctrlKey || aEvent.altKey || aEvent.charCode == 0) return true;
if(aEvent.keyCode == 255) return; // our loop event
 
var newEvent = aEvent.target.ownerDocument.createEvent("KeyEvents");
newEvent.initKeyEvent(aEvent.type, aEvent.bubbles, aEvent.cancelable, aEvent.view,
var newEvent = aEvent.target.ownerDocument.createEvent("KeyEvents");
newEvent.initKeyEvent(aEvent.type, aEvent.bubbles, aEvent.cancelable, aEvent.view,
false, false, false, false, 255, LatRus.worker.convertCode(aEvent.charCode));
aEvent.preventDefault();
aEvent.originalTarget.dispatchEvent(newEvent);
aEvent.originalTarget.dispatchEvent(newEvent);
},
onFocus: function(aEvent)
{
if(aEvent.originalTarget.toString().indexOf("HTML") >= 0) {
LatRus.lastKnownSelection = aEvent.originalTarget;
}
},
 
toggleEnabled: function()
{
68,36 → 76,36
 
selectedToLat: function()
{
if(!gContextMenu) return null;
if(!gContextMenu) return null;
LatRus.convertSelectedText(gContextMenu.target, 'convertStringBackward');
},
 
selectedToRus: function()
{
if(!gContextMenu) return null;
if(!gContextMenu) return null;
LatRus.convertSelectedText(gContextMenu.target, 'convertStringForward');
},
 
getSelectedText: function(e)
{
if(!e) return null;
if(!e.value) return null;
var start = e.selectionStart;
var end = e.selectionEnd;
if(start < 0 || end < 0 || start >= end) return null;
return e.value.toString().substring(start, end);
if(!e) return null;
if(!e.value) return null;
var start = e.selectionStart;
var end = e.selectionEnd;
if(start < 0 || end < 0 || start >= end) return null;
return e.value.toString().substring(start, end);
},
 
convertSelectedText: function(e, transformation)
{
var selection = LatRus.getSelectedText(e);
var selection = LatRus.getSelectedText(e);
if(!selection) return;
 
var res = LatRus.worker[transformation].call(LatRus.worker, selection);
var start = e.selectionStart;
var end = e.selectionEnd;
var start = e.selectionStart;
var end = e.selectionEnd;
var scrollTop = e.scrollTop;
var scrollLeft = e.scrollLeft;
148,7 → 156,7
 
this.diplayHintPart(this.worker.getForwardTable(), panel, "latrus_hint_forward");
this.diplayHintPart(this.worker.getBackwardTable(), panel, "latrus_hint_backward");
//this.diplayHintPart(this.worker.getAdditionalTable(), panel, "latrus_hint_additional");
this.diplayHintPart(this.worker.getAdditionalTable(), panel, "latrus_hint_additional");
 
LatRus.hintPanelInited = true;
},
160,19 → 168,38
panel.removeChild(box);
}
 
box = document.createElement("box");
box.setAttribute("id", boxId);
panel.appendChild(box);
for(var i = 0, l = table.length; i < l; ++i) {
if(i % 32 == 0) {
box = document.createElement("box");
box.setAttribute("id", boxId);
panel.appendChild(box);
}
 
for(var i = 0, l = table.length; i < l; ++i) {
var button = document.createElement("button");
button.setAttribute("label", table[i]);
//button.setAttribute("onclick", "LatRus.addLetterClick(this)");
button.setAttribute("onclick", "LatRus.addLetterClick(this)");
button.setAttribute("class", "latrusHintLetterButton");
box.appendChild(button);
}
},
 
addLetterClick: function(button)
{
if(LatRus.lastKnownSelection) {
LatRus.lastKnownSelection.focus();
var newEvent = LatRus.lastKnownSelection.ownerDocument.createEvent("KeyEvents");
newEvent.initKeyEvent("keypress", true, true, null,
false, false, false, false, 255, button.label.charCodeAt(0));
LatRus.lastKnownSelection.dispatchEvent(newEvent);
}
},
 
openInputBox: function()
{
getBrowser().loadOneTab("chrome://latrus/content/input.html", null, null, null, false, false);
},
showOptions: function()
{
alert("latrus options");
182,6 → 209,7
/* REGISTER */
if(!LatRus.inited && !window.frameElement) {
window.addEventListener('load', LatRus.init, false);
window.addEventListener('focus', LatRus.onFocus, true);
window.addEventListener('keypress', LatRus.onKeyPress, true);
}