From f4b8681160110659f5f78b309237de6f43c32537 Mon Sep 17 00:00:00 2001 From: alecpl Date: Wed, 1 Oct 2008 08:29:58 +0000 Subject: - Stop spellchecking when switching to html editor (#1485362) --- program/js/app.js | 7 +++++++ program/js/common.js | 17 +++++++++++++++++ program/js/editor.js | 2 +- 3 files changed, 25 insertions(+), 1 deletion(-) (limited to 'program') diff --git a/program/js/app.js b/program/js/app.js index 8ba00784f..bcc5e5071 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -1971,6 +1971,13 @@ function rcube_webmail() this.display_spellcheck_controls = function(vis) { if (this.env.spellcheck) { + // stop spellchecking process + if (!vis && !this.spellcheck_ready) + { + exec_event(this.env.spellcheck.check_link, 'click'); + this.set_spellcheck_state('ready'); + } + this.env.spellcheck.check_link.style.visibility = vis ? 'visible' : 'hidden'; this.env.spellcheck.switch_lan_pic.style.visibility = vis ? 'visible' : 'hidden'; } diff --git a/program/js/common.js b/program/js/common.js index 5049061b4..4b877bac3 100644 --- a/program/js/common.js +++ b/program/js/common.js @@ -650,3 +650,20 @@ if (bw.ie) return o; } } + + +// Fire event on specified element +function exec_event(element,event) +{ + if (document.createEventObject) { + // dispatch for IE + var evt = document.createEventObject(); + return element.fireEvent('on'+event,evt) + } + else { + // dispatch for firefox + others + var evt = document.createEvent("HTMLEvents"); + evt.initEvent(event, true, true); // event type,bubbling,cancelable + return !element.dispatchEvent(evt); + } +} diff --git a/program/js/editor.js b/program/js/editor.js index ceab021ef..a9aec621c 100644 --- a/program/js/editor.js +++ b/program/js/editor.js @@ -58,12 +58,12 @@ function rcmail_toggle_editor(toggler) // do the appropriate conversion if (selectedEditor == 'html') { + rcmail.display_spellcheck_controls(false); var composeElement = document.getElementById('compose-body'); var htmlText = "
" + composeElement.value + "
"; composeElement.value = htmlText; tinyMCE.execCommand('mceAddControl', true, 'compose-body'); htmlFlag.value = "1"; - rcmail.display_spellcheck_controls(false); } else { -- cgit v1.2.3