www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | README | LICENSE

commit 1d6dea45ecd2fa61474eb8a4addafd9443cad58f
parent 2bbf3d7c80795238ca105f8343e4c83e8e6df4dc
Author: Dan Stillman <dstillman@zotero.org>
Date:   Wed, 15 Oct 2008 05:26:16 +0000

Remove our plaintext timed textarea


Diffstat:
Dchrome/content/zotero/bindings/timedtextarea.xml | 294-------------------------------------------------------------------------------
1 file changed, 0 insertions(+), 294 deletions(-)

diff --git a/chrome/content/zotero/bindings/timedtextarea.xml b/chrome/content/zotero/bindings/timedtextarea.xml @@ -1,293 +0,0 @@ -<?xml version="1.0"?> -<!-- - A combination of Mozilla's textarea, timed-textbox, input-box, and - input-box-spell bindings, with the timed-textbox's Return key - event handler removed - - Note: It would be much nicer if a) Mozilla offered this natively or - b) we just extended the timed-textbox binding directly, but since it's based - on html:input rather than html:textarea, doing so breaks things in various - ways (though it may be possible with some tweaking) - - Also note: spellcheck code here is a slightly adjusted version - of a patch by Neil Deakin on Bugzilla that wasn't approved in time for - Firefox 2.0 (https://bugzilla.mozilla.org/show_bug.cgi?id=346787). - When there's native support for spellcheck="true" in XUL, we'll hopefully be - able to use that, though it'll still need to work as a timed textarea... ---> - -<!DOCTYPE bindings [ - <!ENTITY % textcontextDTD SYSTEM "chrome://global/locale/textcontext.dtd" > - %textcontextDTD; - - <!-- These aren't yet included in textcontext.dtd in Minefield, so we reproduce them here - (rather than including the massive browser.dtd) --> - <!ENTITY spellAddToDictionary.label "Add to dictionary"> - <!ENTITY spellAddToDictionary.accesskey "o"> - <!ENTITY spellEnable.label "Spell check this field"> - <!ENTITY spellEnable.accesskey "S"> - <!ENTITY spellNoSuggestions.label "(No spelling suggestions)"> - <!ENTITY spellDictionaries.label "Languages"> - <!ENTITY spellDictionaries.accesskey "l"> - <!ENTITY spellAddDictionaries.label "Add dictionaries..."> - <!ENTITY spellAddDictionaries.accesskey "A"> -]> - -<bindings xmlns="http://www.mozilla.org/xbl" - xmlns:html="http://www.w3.org/1999/xhtml" - xmlns:xbl="http://www.mozilla.org/xbl" - xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> - <binding id="timed-textarea" extends="chrome://global/content/bindings/textbox.xml#textbox"> - <implementation> - <field name="mInputField">null</field> - <property name="inputField" readonly="true"> - <getter><![CDATA[ - if (!this.mInputField) - this.mInputField = document.getAnonymousElementByAttribute(this, "anonid", "input"); - return this.mInputField; - ]]></getter> - </property> - - <field name="_timer">null</field> - <property name="timeout" - onset="this.setAttribute('timeout', val); return val;" - onget="return parseInt(this.getAttribute('timeout')) || 0;"/> - <property name="value"> - <getter> - return this.inputField.value; - </getter> - <setter> - <![CDATA[ - this.inputField.value = val; - if (this._timer) - clearTimeout(this._timer); - return val; - ]]> - </setter> - </property> - <method name="_fireCommand"> - <parameter name="me"/> - <body> - <![CDATA[ - me._timer = null; - me.doCommand(); - ]]> - </body> - </method> - - - <!-- Spellcheck code --> - <field name="_spellCheckInitialized">false</field> - <property name="spellCheckerUI" readonly="true"> - <getter><![CDATA[ - if (!this._spellCheckInitialized) { - this._spellCheckInitialized = true; - - const CI = Components.interfaces; - if (!document instanceof CI.nsIDOMXULDocument) - return null; - - var textbox = this; - - if (!textbox || !textbox instanceof CI.nsIDOMXULTextBoxElement) - return null; - - try { - var loader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"]. - getService(CI.mozIJSSubScriptLoader); - loader.loadSubScript("chrome://global/content/inlineSpellCheckUI.js", this); - - if ("InlineSpellCheckerUI" in this) - this.InlineSpellCheckerUI.init( - textbox.inputField.QueryInterface(CI.nsIDOMNSEditableElement).editor - ); - } catch(ex) { - // this throws an error on window open... - } - } - - return this.InlineSpellCheckerUI; - ]]></getter> - </property> - - <constructor> - <![CDATA[ - // can't initialize the spell checker in the constructor as not - // everything is initialized and the editor will fail to create the - // inline spell checker object - setTimeout(this._delayedInitSpellCheck, 0, this) - - // oninput doesn't seem to fire on text drag - this.inputField.addEventListener('dragdrop', function(event) { - document.getBindingParent(event.target).doInput(); - }, false); - ]]> - </constructor> - - <method name="_delayedInitSpellCheck"> - <parameter name="me"/> - <body><![CDATA[ - var spellui = me.spellCheckerUI; - if (spellui) - spellui.enabled = true; - ]]></body> - </method> - - <method name="_doPopupItemEnabling"> - <parameter name="popupNode"/> - <body> - <![CDATA[ - var children = popupNode.childNodes; - for (var i = 0; i < children.length; i++) { - var command = children[i].getAttribute("cmd"); - if (command) { - var controller = document.commandDispatcher.getControllerForCommand(command); - var enabled = controller.isCommandEnabled(command); - if (enabled) { - children[i].removeAttribute("disabled"); - } - else { - children[i].setAttribute("disabled", "true"); - } - } - } - ]]> - </body> - </method> - - <method name="_doPopupItemEnablingSpell"> - <parameter name="popupNode"/> - <body> - <![CDATA[ - var spellui = this.spellCheckerUI; - if (!spellui || !spellui.canSpellCheck) { - this._setMenuItemVisibility("spell-no-suggestions", false); - this._setMenuItemVisibility("spell-check-enabled", false); - this._setMenuItemVisibility("spell-check-separator", false); - this._setMenuItemVisibility("spell-add-to-dictionary", false); - this._setMenuItemVisibility("spell-suggestions-separator", false); - this._setMenuItemVisibility("spell-dictionaries", false); - return; - } - - spellui.initFromEvent(document.popupRangeParent, - document.popupRangeOffset); - - var enabled = spellui.enabled; - document.getAnonymousElementByAttribute(this, "anonid", - "spell-check-enabled").setAttribute("checked", enabled); - - var overMisspelling = spellui.overMisspelling; - this._setMenuItemVisibility("spell-add-to-dictionary", overMisspelling); - this._setMenuItemVisibility("spell-suggestions-separator", overMisspelling); - - // suggestion list - var suggestionsSeparator = document.getAnonymousElementByAttribute(this, - "anonid", "spell-add-to-dictionary"); - var numsug = spellui.addSuggestionsToMenu(popupNode, suggestionsSeparator, 5); - this._setMenuItemVisibility("spell-no-suggestions", overMisspelling && numsug == 0); - - // dictionary list - var dictmenu = document.getAnonymousElementByAttribute(this, "anonid", - "spell-dictionaries-menu"); - var addsep = document.getAnonymousElementByAttribute(this, "anonid", - "spell-language-separator"); - - var numdicts = spellui.addDictionaryListToMenu(dictmenu, addsep); - this._setMenuItemVisibility("spell-dictionaries", enabled); - - this._doPopupItemEnabling(popupNode); - ]]> - </body> - </method> - - <method name="_doPopupItemDisabling"> - <body><![CDATA[ - if (this.spellCheckerUI) { - this.spellCheckerUI.clearSuggestionsFromMenu(); - this.spellCheckerUI.clearDictionaryListFromMenu(); - } - ]]></body> - </method> - - <method name="_setMenuItemVisibility"> - <parameter name="anonid"/> - <parameter name="visible"/> - <body><![CDATA[ - document.getAnonymousElementByAttribute(this, "anonid", anonid). - hidden = ! visible; - ]]></body> - </method> - - - <method name="doTextCommand"> - <parameter name="command"/> - <body> - <![CDATA[ - var controller = document.commandDispatcher.getControllerForCommand(command); - controller.doCommand(command); - ]]> - </body> - </method> - - <method name="doInput"> - <body> - <![CDATA[ - if (this._timer) { - clearTimeout(this._timer); - } - this._timer = this.timeout && setTimeout(this._fireCommand, this.timeout, this); - ]]> - </body> - </method> - </implementation> - - - <handlers> - <handler event="input"> - <![CDATA[ - this.doInput(); - ]]> - </handler> - </handlers> - - - <content context="_child"> - <xul:hbox class="textbox-input-box" flex="1"> - <html:textarea class="textbox-textarea" flex="1" anonid="input" - xbl:inherits="onfocus,onblur,xbl:text=value,disabled,tabindex,rows,cols,readonly,wrap"><children/></html:textarea> - <xul:menupopup anonid="input-box-contextmenu" - onpopupshowing="if (document.commandDispatcher.focusedElement != this.parentNode.firstChild) { this.parentNode.firstChild.focus(); } this.parentNode.parentNode._doPopupItemEnablingSpell(this);" - onpopuphiding="this.parentNode.parentNode._doPopupItemDisabling(this);" - oncommand="var cmd = event.originalTarget.getAttribute('cmd'); if(cmd) { this.parentNode.parentNode.doTextCommand(cmd); event.stopPropagation(); }"> - <xul:menuitem label="&spellNoSuggestions.label;" anonid="spell-no-suggestions" disabled="true"/> - <xul:menuitem label="&spellAddToDictionary.label;" accesskey="&spellAddToDictionary.accesskey;" anonid="spell-add-to-dictionary" - oncommand="this.parentNode.parentNode.parentNode.spellCheckerUI.addToDictionary();"/> - <xul:menuseparator anonid="spell-suggestions-separator"/> - <xul:menuitem label="&undoCmd.label;" accesskey="&undoCmd.accesskey;" cmd="cmd_undo"/> - <xul:menuseparator/> - <xul:menuitem label="&cutCmd.label;" accesskey="&cutCmd.accesskey;" cmd="cmd_cut"/> - <xul:menuitem label="&copyCmd.label;" accesskey="&copyCmd.accesskey;" cmd="cmd_copy"/> - <xul:menuitem label="&pasteCmd.label;" accesskey="&pasteCmd.accesskey;" cmd="cmd_paste"/> - <xul:menuitem label="&deleteCmd.label;" accesskey="&deleteCmd.accesskey;" cmd="cmd_delete"/> - <xul:menuseparator/> - <xul:menuitem label="&selectAllCmd.label;" accesskey="&selectAllCmd.accesskey;" cmd="cmd_selectAll"/> - <xul:menuseparator anonid="spell-check-separator"/> - <xul:menuitem label="&spellEnable.label;" type="checkbox" accesskey="&spellEnable.accesskey;" anonid="spell-check-enabled" - oncommand="this.parentNode.parentNode.parentNode.spellCheckerUI.toggleEnabled();"/> - <xul:menu label="&spellDictionaries.label;" accesskey="&spellDictionaries.accesskey;" anonid="spell-dictionaries"> - <xul:menupopup anonid="spell-dictionaries-menu" - onpopupshowing="event.stopPropagation();" - onpopuphiding="event.stopPropagation();"> - <xul:menuseparator anonid="spell-language-separator"/> - <xul:menuitem anonid="spell-add-dictionaries-main" label="&spellAddDictionaries.label;" - accesskey="&spellAddDictionaries.accesskey;" - oncommand="nsContextMenu.prototype.addDictionaries();"/> - </xul:menupopup> - </xul:menu> - </xul:menupopup> - </xul:hbox> - - </content> - </binding> -</bindings> -\ No newline at end of file