From e70b3b24fc8ac7b54a820ae87ce8f4af4043125e Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Thu, 09 Oct 2008 02:25:43 -0400
Subject: [PATCH] - send set_unread_count() only when changing /Seen status

---
 program/js/editor.js |   77 ++++++++++++++------------------------
 1 files changed, 28 insertions(+), 49 deletions(-)

diff --git a/program/js/editor.js b/program/js/editor.js
index 7b22c9e..a9aec62 100644
--- a/program/js/editor.js
+++ b/program/js/editor.js
@@ -15,25 +15,29 @@
 
 // Initialize the message editor
 
-function rcmail_editor_init(skin_path, editor_lang)
-  {
-  tinyMCE.init({ mode : "textareas",
-                 editor_selector : "mce_editor",
-                 accessibility_focus : false,
-                 apply_source_formatting : true,
-                 theme : "advanced",
-                 language : editor_lang,
-                 plugins : "emotions,media,nonbreaking,table,searchreplace,visualchars,directionality",
-                 theme_advanced_buttons1 : "bold,italic,underline,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,bullist,numlist,outdent,indent,separator,link,unlink,emotions,charmap,code,forecolor,backcolor,fontselect,fontsizeselect, separator,undo,redo,image,media,ltr,rtl",
-                 theme_advanced_buttons2 : "",
-                 theme_advanced_buttons3 : "",
-                 theme_advanced_toolbar_location : "top",
-                 theme_advanced_toolbar_align : "left",
-                 extended_valid_elements : "font[face|size|color|style],span[id|class|align|style]",
-                 content_css : skin_path + "/editor_content.css",
-                 external_image_list_url : "editor_images.js"
-               });
-  }
+function rcmail_editor_init(skin_path, editor_lang, spellcheck)
+{
+  tinyMCE.init({ 
+    mode : "textareas",
+    editor_selector : "mce_editor",
+    accessibility_focus : false,
+    apply_source_formatting : true,
+    theme : "advanced",
+    language : editor_lang,
+    plugins : "emotions,media,nonbreaking,table,searchreplace,visualchars,directionality" + (spellcheck ? ",spellchecker" : ""),
+    theme_advanced_buttons1 : "bold,italic,underline,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,bullist,numlist,outdent,indent,separator,link,unlink,emotions,charmap,code,forecolor,backcolor,fontselect,fontsizeselect, separator" + (spellcheck ? ",spellchecker" : "") + ",undo,redo,image,media,ltr,rtl",
+    theme_advanced_buttons2 : "",
+    theme_advanced_buttons3 : "",
+    theme_advanced_toolbar_location : "top",
+    theme_advanced_toolbar_align : "left",
+    extended_valid_elements : "font[face|size|color|style],span[id|class|align|style]",
+    content_css : skin_path + "/editor_content.css",
+    external_image_list_url : "program/js/editor_images.js",
+    spellchecker_languages : (rcmail.env.spellcheck_langs ? rcmail.env.spellcheck_langs : "Dansk=da,Deutsch=de,+English=en,Espanol=es,Francais=fr,Italiano=it,Nederlands=nl,Polski=pl,Portugues=pt,Suomi=fi,Svenska=sv"),
+    gecko_spellcheck : true,
+    rc_client: rcube_webmail_client
+  });
+}
 
 // Toggle between the HTML and Plain Text editors
 
@@ -52,47 +56,22 @@
     }
 
   // do the appropriate conversion
-
-  var composeElement = document.getElementById('compose-body');
-
   if (selectedEditor == 'html')
     {
-    var existingPlainText = composeElement.value;
-    var htmlText = "<pre>" + existingPlainText + "</pre>";
+    rcmail.display_spellcheck_controls(false);
+    var composeElement = document.getElementById('compose-body');
+    var htmlText = "<pre>" + composeElement.value + "</pre>";
     composeElement.value = htmlText;
     tinyMCE.execCommand('mceAddControl', true, 'compose-body');
     htmlFlag.value = "1";
     }
   else
     {
-    rcmail.set_busy(true, 'converting');
     var thisMCE = tinyMCE.get('compose-body');
     var existingHtml = thisMCE.getContent();
-    rcmail_html2plain(existingHtml);
+    rcmail.html2plain(existingHtml, 'compose-body');
     tinyMCE.execCommand('mceRemoveControl', true, 'compose-body');
     htmlFlag.value = "0";
+    rcmail.display_spellcheck_controls(true);
     }
-  }
-
-function rcmail_html2plain(htmlText)
-  {
-  var http_request = new rcube_http_request();
-
-  http_request.onerror = function(o) { rcmail_handle_toggle_error(o); };
-  http_request.oncomplete = function(o) { rcmail_set_text_value(o); };
-  var url = rcmail.env.bin_path+'html2text.php';
-  console.log('HTTP request: ' + url);
-  http_request.POST(url, htmlText, 'application/octet-stream');
-  }
-
-function rcmail_set_text_value(httpRequest)
-  {
-  rcmail.set_busy(false);
-  var composeElement = document.getElementById('compose-body');
-  composeElement.value = httpRequest.get_text();
-  }
-
-function rcmail_handle_toggle_error(httpRequest)
-  {
-  alert('html2text request returned with error ' + httpRequest.xmlhttp.status);
   }

--
Gitblit v1.9.1