Subversion Repositories general

Compare Revisions

No changes between revisions

Ignore whitespace Rev 1310 → Rev 1311

/firefox/latrus/trunk/update.rdf
0,0 → 1,24
<?xml version="1.0"?>
<RDF:RDF xmlns:em="http://www.mozilla.org/2004/em-rdf#"
xmlns:NC="http://home.netscape.com/NC-rdf#"
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<RDF:Description RDF:about="rdf:#$nTfq11"
em:version="1.2">
<em:targetApplication RDF:resource="rdf:#$qTfq11"/>
</RDF:Description>
<RDF:Seq RDF:about="rdf:#$mTfq11">
<RDF:li RDF:resource="rdf:#$nTfq11"/>
</RDF:Seq>
<RDF:Description RDF:about="rdf:#$qTfq11"
em:id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
em:minVersion="3"
em:maxVersion="3.0.*"
em:updateLink="http://www.26th.net/public/projects/latrus/latrus.xpi" />
<RDF:Description RDF:about="urn:mozilla:extension:{442BFBA6-ADD9-11DD-BDE2-BC5D1A6F0FEF}"
em:version="1.0"
em:updateLink="http://www.26th.net/public/projects/latrus/latrus.xpi"
em:updateHash="sha256:0000000000000000000000000000000000000000000000000000000000000000"
em:signature="MIGTMA0GCSqGSIb3DQEBDQUAA4GBALmmXuf+VpiYfe8jkC8RnOmNDaQ49Lv8BFJOg3V99PPThO6jqAPKhI8or2qyQD0Nva/gb6OgaROGuo5FJsP6kXekhi91HltVUq9r1aSFvQ4iPf3IkyGZnqIQmECYdVmQgMwsRsOES5R+1SuH55wyGdaxtHpy9mg2ce+MMoqeQFKd">
<em:updates RDF:resource="rdf:#$mTfq11"/>
</RDF:Description>
</RDF:RDF>
/firefox/latrus/trunk/src/install.rdf
0,0 → 1,26
<?xml version="1.0"?>
 
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
 
<Description about="urn:mozilla:install-manifest">
<em:id>{442BFBA6-ADD9-11DD-BDE2-BC5D1A6F0FEF}</em:id>
<em:version>1.0</em:version>
<em:type>2</em:type>
<em:targetApplication>
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>3</em:minVersion>
<em:maxVersion>3.0.*</em:maxVersion>
</Description>
</em:targetApplication>
<em:name>LatRus</em:name>
<em:description>Convert latin char to russian on-the-fly</em:description>
<em:creator>Anatoli Klassen</em:creator>
<em:homepageURL>http://www.26th.net/public/projects/latrus-mozilla</em:homepageURL>
<em:updateURL>http://www.26th.net/public/projects/latrus-mozilla/update.rdf</em:updateURL>
<em:updateKey>MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD0n3FJvEygIzLWtleG7RQGsW33KlWt2CEKm4cNdyYtos2PXb68ZwMIGDduDeAdv0kg90Y2vnHpEgJwE4O6Ce6bfjxQWNbCWj6UgjRaosuzqKq4+BBwT65hMcIs72K1x3zQde6oNBsnYiEP18Cy7aY26+QA7M/vcOY5Rut66xYcjQIDAQAB</em:updateKey>
</Description>
</RDF>
/firefox/latrus/trunk/src/chrome.manifest
0,0 → 1,2
content latrus chrome/content/
overlay chrome://browser/content/browser.xul chrome://latrus/content/latrus.xul
/firefox/latrus/trunk/src/chrome/content/latrus.xul
0,0 → 1,20
<?xml version="1.0"?>
 
<overlay id="latrus"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
 
<script type="application/x-javascript" src="chrome://latrus/content/latrus.js" />
<popup id="contentAreaContextMenu">
<menuitem id="context-latrus-enabled" type="checkbox" label="Convert lat->rus"
oncommand="LatRus.toggleEnabled();" insertafter="spell-separator" />
<!--menu id="context-latrus-submenu" insertafter="context-latrus-enabled">
<menupopup id="context-latrus-menupopup" />
</menu-->
</popup>
<statusbar id="status-bar">
<statusbarpanel id="latrus-panel" />
</statusbar>
 
</overlay>
/firefox/latrus/trunk/src/chrome/content/latrus.js
0,0 → 1,105
var latRusWorker = null;
var latRusEnabled = false;
 
var LatRus = {
init: function()
{
var appcontent = document.getElementById("appcontent");
if(appcontent) {
appcontent.addEventListener("DOMContentLoaded", LatRus.onPageLoad, true);
}
 
latRusWorker = new Worker();
LatRus.setEnabled(latRusEnabled); // update menu and panel
},
 
onPageLoad: function(aEvent)
{
if(aEvent.originalTarget.nodeName == "#document") {
aEvent.originalTarget.addEventListener('keypress', LatRus.onKeyPress, true);
}
},
 
onKeyPress: function(aEvent)
{
if(!latRusEnabled) return;
if(aEvent.ctrlKey || aEvent.altKey || aEvent.charCode == 0) return true;
if(aEvent.keyCode == 255) return; // our loop event
 
var newEvent = document.commandDispatcher.focusedWindow.document.createEvent("KeyEvents");
newEvent.initKeyEvent(aEvent.type, aEvent.bubbles, aEvent.cancelable, aEvent.view,
false, false, false, false, 255, latRusWorker.convertChar(aEvent.charCode));
aEvent.preventDefault();
aEvent.target.dispatchEvent(newEvent);
},
 
toggleEnabled: function()
{
LatRus.setEnabled(!latRusEnabled);
},
 
setEnabled: function(enabled)
{
latRusEnabled = enabled;
 
var item = document.getElementById("context-latrus-enabled");
if(item) {
item.setAttribute("checked", latRusEnabled);
}
 
var panel = document.getElementById("latrus-panel");
if(panel) {
panel.label = (latRusEnabled ? "RUS" : "LAT");
}
},
};
 
window.addEventListener('load', LatRus.init, false);
 
Worker.engTable = new Array(
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
'\"', '\'', '§', '$', '&', '/', '(', ')', '=', '?', '`', '-',
'_', '#', '+', '*', ',', '.', 'ä', 'ö', 'ü', 'ß');
Worker.rusTable1 = new Array(
'а', 'б', 'ц', 'д', 'е', 'ф', 'г', 'х', 'и', 'й', 'к', 'л', 'м',
'н', 'о', 'п', 'ч', 'р', 'с', 'т', 'у', 'в', 'ш', 'ж', 'я', 'з',
'ъ', 'ь', '§', '$', '&', '/', '(', ')', '=', '?', '`', '-',
'_', '#', '+', '*', ',', '.', 'э', 'ы', 'ю', 'щ');
Worker.rusTable2 = new Array(
'ф', 'и', 'с', 'в', 'у', 'а', 'п', 'р', 'ш', 'о', 'л', 'д', 'ь',
'т', 'щ', 'з', 'й', 'к', 'ы', 'е', 'г', 'м', 'ц', 'ч', 'я', 'н',
'\"', '/', 'â„–', ';', ':', '?', '*', '(', ')', '_', '=', '.',
',', '\\', 'ъ', 'Ъ', 'б', 'ю');
 
function Worker()
{
this.convertTable = Worker.buildConvertTable(Worker.engTable, Worker.rusTable1, true);
}
 
Worker.buildConvertTable = function(fromTable, toTable, autoUpperCase)
{
var res = new Object();
 
for(var i = 0, l = Math.min(fromTable.length, toTable.length); i < l; ++i) {
res[fromTable[i].charCodeAt(0)] = toTable[i].charCodeAt(0);
if(autoUpperCase) {
if(fromTable[i].toUpperCase() != fromTable[i]) {
res[fromTable[i].toUpperCase().charCodeAt(0)] = toTable[i].toUpperCase().charCodeAt(0);
}
}
}
 
return res;
}
 
Worker.prototype.convertChar = function(c)
{
if(this.convertTable) {
var r = this.convertTable[c];
if(r != undefined) return r;
}
 
return c; // not found or no table
}
 
/firefox/latrus/trunk/bin/deploy.sh
0,0 → 1,15
#!/bin/sh
 
T="$1"
D="$(dirname $0)/.."
 
if [ -z "$T" ] ; then
echo "Need one parameter - the target dir" >> /dev/stderr
return 1
fi
 
rm "$T/latrus.xpi"
(cd "$D/src"; find . -not -path '*/.svn*' | zip -@ "$T/latrus.xpi")
 
cp "$D/update.rdf" "$T"
 
Property changes:
Added: svn:executable
+*
\ No newline at end of property