Index: gc_lang/fr/webext/background.js ================================================================== --- gc_lang/fr/webext/background.js +++ gc_lang/fr/webext/background.js @@ -73,12 +73,12 @@ }; function initUIOptions (dSavedOptions) { if (!dSavedOptions.hasOwnProperty("ui_options")) { browser.storage.local.set({"ui_options": { - textarea: false, - editablenode: false + textarea: true, + editablenode: true }}); } } function initGrammarChecker (dSavedOptions) { Index: gc_lang/fr/webext/content_scripts/menu.css ================================================================== --- gc_lang/fr/webext/content_scripts/menu.css +++ gc_lang/fr/webext/content_scripts/menu.css @@ -6,10 +6,11 @@ /* Button */ .grammalecte_menu_main_button { position: absolute; + display: none; margin: -8px 0 0 -8px; width: 8px; height: 8px; background-color: hsla(210, 80%, 80%, .5); border: 4px solid hsla(210, 80%, 60%, .5); Index: gc_lang/fr/webext/content_scripts/menu.js ================================================================== --- gc_lang/fr/webext/content_scripts/menu.js +++ gc_lang/fr/webext/content_scripts/menu.js @@ -11,15 +11,25 @@ this.xButton.onclick = () => { this.switchMenu(); }; this.xButton.style.zIndex = (xNode.style.zIndex.search(/^[0-9]+$/) !== -1) ? (parseInt(xNode.style.zIndex) + 1).toString() : xNode.style.zIndex; this.xMenu = this._createMenu(xNode); this._insertAfter(this.xButton, xNode); this._insertAfter(this.xMenu, xNode); + this._createListenersOnReferenceNode(xNode); } _insertAfter (xNewNode, xReferenceNode) { xReferenceNode.parentNode.insertBefore(xNewNode, xReferenceNode.nextSibling); } + + _createListenersOnReferenceNode (xNode) { + xNode.addEventListener('focus', (e) => { + this.xButton.style.display = "block"; + }); + xNode.addEventListener('blur', (e) => { + window.setTimeout(() => {this.xButton.style.display = "none";}, 300); + }); + } _createMenu (xNode) { try { let sText = (xNode.tagName == "TEXTAREA") ? xNode.value : xNode.textContent; let xMenu = oGrammalecte.createNode("div", {id: this.sMenuId, className: "grammalecte_menu"}); @@ -91,9 +101,8 @@ this.xMenu.parentNode.removeChild(this.xMenu); this.xButton.parentNode.removeChild(this.xButton); } switchMenu () { - let xMenu = document.getElementById(this.sMenuId); - xMenu.style.display = (xMenu.style.display == "block") ? "none" : "block"; + this.xMenu.style.display = (this.xMenu.style.display == "block") ? "none" : "block"; } } Index: gc_lang/fr/webext/panel/main.html ================================================================== --- gc_lang/fr/webext/panel/main.html +++ gc_lang/fr/webext/panel/main.html @@ -60,15 +60,15 @@

Vous pouvez activer ou désactiver l’affichage de ces boutons sur les zones de texte. Il existe deux types de zones de texte.

-

Ces zones de texte sont les champs de formulaire usuels pour saisir du texte. Ils ne permettent que la saisie de texte brut, sans fioritures. (Ces champs de texte sont parfois dissimulés derrière d’autres éléments. Dans ce cas, il se peut que le bouton soit visible alors que le champ de saisie est dissimulé par un autre champ de saisie.)

+

Ces zones de texte sont les champs de formulaire usuels pour saisir du texte. Ils ne permettent que la saisie de texte brut, sans fioritures.

-

Ces zones de texte sont des sections de page web éditables. Il est fréquent que ces zones de texte apparaissent comme des “textareas” standard. Il est aussi fréquent que ces zones de texte soient couplées avec toutes sortes de logiciels (de simples scripts d’aide à la mise en page ou des applications complexes). Ces zones de texte permettent l’affichage de texte enrichi (italique, gras, hyperlien, images, etc.). Il est assez fréquent que des “textareas” invisibles se cachent derrière ces “nodes” éditables.

+

Ces zones de texte sont des sections de page web éditables. Il est fréquent que ces zones de texte apparaissent comme des “textareas” standard. Il est aussi fréquent que ces zones de texte soient couplées avec toutes sortes de logiciels (de simples scripts d’aide à la mise en page ou des applications complexes). Ces zones de texte permettent l’affichage de texte enrichi (italique, gras, hyperlien, images, etc.).

Raccourcis clavier

CTRL+MAJ+6

Conjugueur (dans un onglet)

CTRL+MAJ+7