Subversion Repositories general

Compare Revisions

Ignore whitespace Rev 1333 → Rev 1334

/mozilla/latrus/trunk/TODO
1,4 → 1,6
* settings (convert table, default state etc)
* standard char map
* window with currect charmap, clickable
* clickable window with currect charmap
* enable per tab (?)
* window to enter any text
* merge the popup and the statusbar menus
/mozilla/latrus/trunk/src/chrome/skin/latrus.css
0,0 → 1,14
@import url("chrome://browser/skin/");
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
 
#latrus_hint {
padding: 8px;
}
 
.latrusHintLetterButton {
width: 20px;
min-width: 20px;
max-width: 20px;
margin: 0px;
}
 
/mozilla/latrus/trunk/src/chrome/content/hint.xul
1,6 → 1,9
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
 
<window id="latrus-hint-panel"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
 
<button label="Lat -> Rus" />
<button label="Rus -> Lat" />
</window>
/mozilla/latrus/trunk/src/chrome/content/latrus.js
1,13 → 1,15
var LatRus = {
inited: false,
worker: null,
enabled: false,
showHint: true,
inited: false,
worker: null,
enabled: false,
showHint: false,
hintPanelInited: false,
 
init: function()
{
LatRus.worker = new LatRusWorker_Rus();
LatRus.setEnabled(false);
LatRus.setHint(false);
inited = true;
},
 
108,12 → 110,12
 
toggleHint: function()
{
LatRus.setHint(!LatRus.ShowHint);
LatRus.setHint(!LatRus.showHint);
},
 
setHint: function(showHint)
{
LatRus.ShowHint = showHint;
LatRus.showHint = showHint;
LatRus.updateHint();
},
 
121,20 → 123,56
{
var item = document.getElementById("panel-latrus-show-hint");
if(item) {
item.setAttribute("checked", LatRus.ShowHint);
item.setAttribute("checked", LatRus.showHint);
}
 
if(LatRus.showHint && !LatRus.hintPanelInited) {
LatRus.displayHintPanel();
}
 
var panel = document.getElementById("latrus_hint");
if(panel) {
panel.hidden = !LatRus.ShowHint;
panel.hidden = !LatRus.showHint;
}
 
var splitter = document.getElementById("latrus_splitter");
if(splitter) {
splitter.hidden = !LatRus.ShowHint;
splitter.hidden = !LatRus.showHint;
}
},
 
displayHintPanel: function()
{
var panel = document.getElementById("latrus_hint");
if(!panel) return;
 
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");
 
LatRus.hintPanelInited = true;
},
 
diplayHintPart: function(table, panel, boxId)
{
var box = document.getElementById(boxId);
if(box) {
panel.removeChild(box);
}
 
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("class", "latrusHintLetterButton");
box.appendChild(button);
}
},
 
showOptions: function()
{
alert("latrus options");
158,6 → 196,11
this.convertChars = new Object();
this.backCodes = new Object();
this.backChars = new Object();
 
this.buildConvertTable(this.getForwardTable(), this.getBackwardTable(),
true, this.convertCodes, this.convertChars);
this.buildConvertTable(this.getBackwardTable(), this.getForwardTable(),
true, this.backCodes, this.backChars);
},
 
buildConvertTable: function(fromTable, toTable, autoUpperCase, resCodes, resChars)
224,22 → 267,25
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',
'\"', '\'', '§', '$', '&', '/', '(', ')', '=', '?', '`', '-',
'_', '#', '+', '*', ',', '.', 'ä', 'ö', 'ü', 'ß'),
'\"', '\'', 'ä', 'ö', 'ü', 'ß'),
 
rusTable: new Array(
'а', 'б', 'ц', 'д', 'е', 'ф', 'г', 'х', 'и', 'й', 'к', 'л', 'м',
'н', 'о', 'п', 'ч', 'р', 'с', 'т', 'у', 'в', 'ш', 'ж', 'я', 'з',
'ъ', 'ь', '§', '$', '&', '/', '(', ')', '=', '?', '`', '-',
'_', '#', '+', '*', ',', '.', 'э', 'ы', 'ю', 'щ'),
'ъ', 'ь', 'э', 'ы', 'ю', 'щ'),
 
init: function()
{
this.__super.prototype.init.apply(this);
additionalTable: new Array(
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'^', '°', '!', '§', '$', '%', '&', '/', '(', ')', '[', ']', '{', '}',
'=', '?', '`', '´', '<', '>', '|',
'.', ',', ':', ';', '-', '_', '*', '+', '~', '#', '€', 'µ',
'Щ', 'ё', 'Ё', 'Ь', 'Ъ'),
 
this.buildConvertTable(this.engTable, this.rusTable, true, this.convertCodes, this.convertChars);
this.buildConvertTable(this.rusTable, this.engTable, true, this.backCodes, this.backChars);
},
getForwardTable: function() { return this.engTable; },
 
getBackwardTable: function() { return this.rusTable; },
 
getAdditionalTable: function() { return this.additionalTable; },
}
 
function LatRusWorker_RusStd()
/mozilla/latrus/trunk/src/chrome/content/latrusBrowser.xul
1,5 → 1,7
<?xml version="1.0"?>
 
<?xml-stylesheet href="chrome://latrus/skin/latrus.css" type="text/css"?>
 
<overlay id="latrus"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
 
45,10 → 47,8
</statusbarpanel>
</statusbar>
 
<vbox id="appcontent" flex="1">
<splitter id="latrus_splitter" state="open" resizebefore="farthest" resizeafter="closest" />
<vbox id="appcontent">
<vbox id="latrus_hint">
<iframe src="chrome://latrus/content/hint.xul" type="content" flex="1" />
</vbox>
</vbox>
 
/mozilla/latrus/trunk/src/chrome.manifest
2,4 → 2,5
overlay chrome://browser/content/browser.xul chrome://latrus/content/latrusBrowser.xul
overlay chrome://messenger/content/messenger.xul chrome://latrus/content/latrusMessenger.xul
overlay chrome://messenger/content/messengercompose/messengercompose.xul chrome://latrus/content/latrusMessengerCompose.xul
skin latrus classic/1.0 chrome/skin/