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
-
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;
+ }
+ }
+}