Subversion Repositories general

Compare Revisions

Ignore whitespace Rev 1334 → Rev 1335

/mozilla/latrus/trunk/TODO
1,6 → 1,5
* settings (convert table, default state etc)
* standard char map
* clickable window with currect charmap
* enable per tab (?)
* window to enter any text
* merge the popup and the statusbar menus
* insert char on hint click in sthess earch and address bars (where text is selected on focus)
/mozilla/latrus/trunk/src/chrome/content/hint.xul
File deleted
/mozilla/latrus/trunk/src/chrome/content/input.html
0,0 → 1,13
<html>
 
<head>
<title>LatRus Input Box</title>
</head>
 
<body>
<textarea style="width:100%; height:95%;"></textarea>
 
</body>
 
</html>
/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);
}
 
/mozilla/latrus/trunk/src/chrome/content/latrusBrowser.xul
37,6 → 37,7
<popupset id="mainPopupSet">
<popup id="panel-latrus-popup">
<menuitem id="panel-latrus-show-hint" type="checkbox" label="Hints" oncommand="LatRus.toggleHint()" />
<menuitem id="panel-latrus-input" label="Input Box" oncommand="LatRus.openInputBox()" />
<menuitem id="panel-latrus-options" label="Options" oncommand="LatRus.showOptions()" />
</popup>
</popupset>