Index: gc_lang/fr/webext/content_scripts/editor.js ================================================================== --- gc_lang/fr/webext/content_scripts/editor.js +++ gc_lang/fr/webext/content_scripts/editor.js @@ -19,11 +19,11 @@ this.lNode = []; this.bCheckSignature = bCheckSignature; this._lParsableNodes = ["P", "LI", "H1", "H2", "H3", "H4", "H5", "H6"]; this._lRootNodes = ["DIV", "UL", "OL"]; if (bThunderbird) { - oGrammalecte.oGCPanel.addMessageToGCPanel("❗ Interface pour Thunderbird en version bêta."); + oGrammalecte.oGCPanel.addMessageToGCPanel("❗ Les éléments de formatage direct (non textuels) sont susceptibles d’être effacés lors de la correction."); } } * _getParsableNodes (xRootNode) { // recursive function Index: gc_lang/fr/webext/content_scripts/init.js ================================================================== --- gc_lang/fr/webext/content_scripts/init.js +++ gc_lang/fr/webext/content_scripts/init.js @@ -126,10 +126,13 @@ this.oGCPanel.show(); this.oGCPanel.showEditor(); this.oGCPanel.start(what, xResultNode); this.oGCPanel.startWaitIcon(); let sText = this.oGCPanel.oTextControl.getText(); + if (bThunderbird && sText.trim() === "") { + oGrammalecte.showMessage("❓ Le message ne semble contenir aucune réponse. Si vous écrivez votre réponse avant le message auquel vous répondez, celle-ci ne peut être vue de Grammalecte que si vous avez réglé votre compte pour répondre au-dessus du message cité.\n➜ Pour modifier ce réglage, allez dans vos paramètres de compte et, dans la section [Rédaction et adressage], sélectionnez [La réponse commence avant la citation].\n❗ Si vous ne modifiez pas ce réglage, seul le texte écrit après les passages cités sera vu et analysé par Grammalecte."); + } oGrammalecteBackgroundPort.parseAndSpellcheck(sText, "__GrammalectePanel__"); }, showMessage: function (sMessage) { this.createMessageBox(); Index: gc_lang/fr/webext/content_scripts/message_box.css ================================================================== --- gc_lang/fr/webext/content_scripts/message_box.css +++ gc_lang/fr/webext/content_scripts/message_box.css @@ -9,10 +9,11 @@ padding: 0; margin: 0; top: 50%; left: 50%; width: 400px; + margin-top: -50px; margin-left: -200px; min-height: 100px; box-sizing: content-box; z-index: 2147483647; /* maximum is 2147483647: https://stackoverflow.com/questions/491052/minimum-and-maximum-value-of-z-index */ border: 2px solid hsl(210, 50%, 50%); @@ -29,10 +30,11 @@ div.grammalecte_message_box img { display: inline-block; margin: 0; padding: 0; } + div.grammalecte_message_box_bar { position: sticky; width: 100%; background-color: hsl(210, 50%, 50%); @@ -58,6 +60,10 @@ div.grammalecte_message_box_content { height: calc(100% - 55px); /* panel height - title_bar */ padding: 20px; color: hsl(0, 50%, 96%); font-size: 18px; +} +div.grammalecte_message_box_content p { + margin: 0 0 5px 0; + font-size: 16px; } Index: gc_lang/fr/webext/content_scripts/message_box.js ================================================================== --- gc_lang/fr/webext/content_scripts/message_box.js +++ gc_lang/fr/webext/content_scripts/message_box.js @@ -86,12 +86,26 @@ this.xMessageBox.style.display = "none"; this.clear(); } setMessage (sMessage) { - this.xMessageBoxContent.textContent = sMessage; + if (!sMessage.includes("\n")) { + // one line message + this.xMessageBoxContent.textContent = sMessage; + } + else { + // multi-line message + let lLines = sMessage.split("\n"); + for (let sLine of lLines) { + this.xMessageBoxContent.appendChild(oGrammalecte.createNode("p", { textContent: sLine })); + } + } + //let nOffset = Math.min(this.xMessageBox.clientHeight / 2); + //console.log(nOffset); + //this.xMessageBox.style.marginTop = `-${nOffset}px`; + this.xMessageBox.style.marginTop = `-150px`; } clear () { this.xMessageBoxContent.textContent = ""; } }