Index: gc_lang/fr/webext/background.js ================================================================== --- gc_lang/fr/webext/background.js +++ gc_lang/fr/webext/background.js @@ -34,12 +34,14 @@ break; case "textToTest": case "fullTests": case "getOptions": case "getDefaultOptions": + case "resetOptions": // send result to panel browser.runtime.sendMessage(e.data); + browser.storage.local.set({"gc_options": result}); break; case "setOptions": case "setOption": browser.storage.local.set({"gc_options": result}); break; @@ -99,10 +101,11 @@ case "textToTest": case "getOptions": case "getDefaultOptions": case "setOptions": case "setOption": + case "resetOptions": case "fullTests": xGCEWorker.postMessage(oRequest); break; default: console.log("[background] Unknown command: " + oRequest.sCommand); Index: gc_lang/fr/webext/content_scripts/gc_content.js ================================================================== --- gc_lang/fr/webext/content_scripts/gc_content.js +++ gc_lang/fr/webext/content_scripts/gc_content.js @@ -242,11 +242,11 @@ let xNode = createNode("div", {className: "grammalecte_gc_panel_message", textContent: sMessage}); this.xParagraphList.appendChild(xNode); } _copyToClipboard (sText) { - // recipie from https://github.com/mdn/webextensions-examples/blob/master/context-menu-copy-link-with-types/clipboard-helper.js + // recipe from https://github.com/mdn/webextensions-examples/blob/master/context-menu-copy-link-with-types/clipboard-helper.js function setClipboardData (xEvent) { document.removeEventListener("copy", setClipboardData, true); xEvent.stopImmediatePropagation(); xEvent.preventDefault(); xEvent.clipboardData.setData("text/plain", sText); @@ -272,12 +272,10 @@ catch (e) { showError(e); } this.stopWaitIcon(); } - - } class GrammalecteTooltip { Index: gc_lang/fr/webext/gce_worker.js ================================================================== --- gc_lang/fr/webext/gce_worker.js +++ gc_lang/fr/webext/gce_worker.js @@ -115,11 +115,11 @@ break; case "textToTest": textToTest(dParam.sText, dParam.sCountry, dParam.bDebug, dParam.bContext, dInfo); break; case "fullTests": - fullTests('{"nbsp":true, "esp":true, "unit":true, "num":true}', dInfo); + fullTests(dInfo); break; case "getListOfTokens": getListOfTokens(dParam.sText, dInfo); break; default: @@ -249,19 +249,22 @@ sMsg += text.getReadableError(oErr) + "\n"; } postMessage(createResponse("textToTest", sMsg, dInfo, true)); } -function fullTests (sGCOptions="", dInfo={}) { +function fullTests (dInfo={}) { if (!gc_engine || !oDict) { postMessage(createResponse("fullTests", "# Grammar checker or dictionary not loaded.", dInfo, true)); return; } let dMemoOptions = gc_engine.getOptions(); - if (sGCOptions) { - gc_engine.setOptions(helpers.objectToMap(JSON.parse(sGCOptions))); - } + let dTestOptions = gc_engine.getDefaultOptions(); + dTestOptions.set("nbsp", true); + dTestOptions.set("esp", true); + dTestOptions.set("unit", true); + dTestOptions.set("num", true); + gc_engine.setOptions(dTestOptions); let sMsg = ""; for (let sRes of oTest.testParse()) { sMsg += sRes + "\n"; console.log(sRes); } Index: gc_lang/fr/webext/panel/main.css ================================================================== --- gc_lang/fr/webext/panel/main.css +++ gc_lang/fr/webext/panel/main.css @@ -194,10 +194,19 @@ font-size: 12px; } .opt_subsection input { order: 1 } + +#gc_options_page .button { + margin: 20px 30px 0 30px; + padding: 5px 10px; + border-radius: 3px; + font-size: 16px; + text-align: center; + cursor: pointer; +} /* Spell checking options */ Index: gc_lang/fr/webext/panel/main.html ================================================================== --- gc_lang/fr/webext/panel/main.html +++ gc_lang/fr/webext/panel/main.html @@ -77,11 +77,11 @@

OPTIONS GRAMMATICALES

${webextOptionsHTML}
-

Options par défaut

+
Options par défaut

OPTIONS ORTHOGRAPHIQUES

@@ -108,11 +108,11 @@

TESTS

Page for tests
-
Tests complets
Analyser
+
Tests complets
Analyser

         
Index: gc_lang/fr/webext/panel/main.js ================================================================== --- gc_lang/fr/webext/panel/main.js +++ gc_lang/fr/webext/panel/main.js @@ -14,24 +14,31 @@ window.addEventListener( "click", function (xEvent) { let xElem = xEvent.target; if (xElem.id) { - if (xElem.id === "text_to_test") { + if (xElem.id === "text_to_test_button") { browser.runtime.sendMessage({ sCommand: "textToTest", dParam: {sText: document.getElementById("text_to_test").value, sCountry: "FR", bDebug: false, bContext: false}, dInfo: {} }); } - else if (xElem.id === "fulltests") { + else if (xElem.id === "fulltests_button") { document.getElementById("tests_result").textContent = "Veuillez patienter…"; browser.runtime.sendMessage({ sCommand: "fullTests", dParam: {}, dInfo: {} }); + } + else if (xElem.id === "default_options_button") { + browser.runtime.sendMessage({ + sCommand: "resetOptions", + dParam: {}, + dInfo: {} + }); } else if (xElem.id.startsWith("option_")) { browser.runtime.sendMessage({ sCommand: "setOption", dParam: {sOptName: xElem.dataset.option, bValue: xElem.checked}, @@ -76,17 +83,17 @@ switch(sActionDone) { case "textToTest": case "fullTests": showTestResult(result); break; - case "getOptions": - case "getDefaultOptions": + case "resetOptions": + setGCOptions(result); break; default: - console.log("GRAMMALECTE. Unknown command: " + oMessage.sCommand); + console.log("GRAMMALECTE. Unknown command: " + sActionDone); } - sendResponse({sCommand: "none", result: "done"}); + //sendResponse({sCommand: "none", result: "done"}); } browser.runtime.onMessage.addListener(handleMessage); @@ -101,11 +108,11 @@ xNodePage.style.display = "none"; } // show the selected one document.getElementById(sPageName).style.display = "block"; if (sPageName == "gc_options_page") { - setGCOptions(); + setGCOptionsFromStorage(); } } catch (e) { showError(e); } @@ -114,23 +121,26 @@ function showTestResult (sText) { document.getElementById("tests_result").textContent = sText; } -function setGCOptions () { +function setGCOptionsFromStorage () { let xPromise = browser.storage.local.get("gc_options"); xPromise.then( function (dSavedOptions) { - //console.log(dSavedOptions); if (dSavedOptions.hasOwnProperty("gc_options")) { - for (let [sOpt, bVal] of dSavedOptions.gc_options) { - if (document.getElementById("option_"+sOpt)) { - document.getElementById("option_"+sOpt).checked = bVal; - } - } + setGCOptions(dSavedOptions.gc_options); } }, function (e) { showError(e); } ); } + +function setGCOptions (dOptions) { + for (let [sOpt, bVal] of dOptions) { + if (document.getElementById("option_"+sOpt)) { + document.getElementById("option_"+sOpt).checked = bVal; + } + } +}