From d9344fc349e8c5765898c90bf5061e56cd21c8a0 Mon Sep 17 00:00:00 2001
From: svncommit <devs@roundcube.net>
Date: Tue, 15 Apr 2008 17:22:00 -0400
Subject: [PATCH] HTML editing fixes, upgrade to TinyMCE v3.0.6

---
 program/js/tiny_mce/themes/advanced/js/charmap.js |   33 ++++++++++++++++-----------------
 1 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/program/js/tiny_mce/themes/advanced/jscripts/charmap.js b/program/js/tiny_mce/themes/advanced/js/charmap.js
similarity index 92%
rename from program/js/tiny_mce/themes/advanced/jscripts/charmap.js
rename to program/js/tiny_mce/themes/advanced/js/charmap.js
index eaa6a94..8467ef6 100644
--- a/program/js/tiny_mce/themes/advanced/jscripts/charmap.js
+++ b/program/js/tiny_mce/themes/advanced/js/charmap.js
@@ -1,13 +1,6 @@
-function init() {
-	tinyMCEPopup.resizeToInnerSize();
-}
+tinyMCEPopup.requireLangPack();
 
-var charmap = new Array();
-
-// for mor details please see w3c.org
-// now here is the complete list ;)
-
-charmap = [
+var charmap = [
 	['&nbsp;',    '&#160;',  true, 'no-break space'],
 	['&amp;',     '&#38;',   true, 'ampersand'],
 	['&quot;',    '&#34;',   true, 'quotation mark'],
@@ -270,32 +263,37 @@
 	['&shy;',     '&#173;',  false,'soft hyphen']
 ];
 
+tinyMCEPopup.onInit.add(function() {
+	tinyMCEPopup.dom.setHTML('charmapView', renderCharMapHTML());
+});
+
 function renderCharMapHTML() {
-	var charsPerRow = 20, tdWidth=20, tdHeight=20;
+	var charsPerRow = 20, tdWidth=20, tdHeight=20, i;
 	var html = '<table border="0" cellspacing="1" cellpadding="0" width="' + (tdWidth*charsPerRow) + '"><tr height="' + tdHeight + '">';
 	var cols=-1;
-	for (var i=0; i<charmap.length; i++) {
+
+	for (i=0; i<charmap.length; i++) {
 		if (charmap[i][2]==true) {
 			cols++;
 			html += ''
-				+ '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap"'
-				+ ' onmouseover="this.className=\'charmapOver\';'
-				+ 'previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');"'
-				+ ' onmouseout="this.className=\'charmap\';"'
-				+ ' nowrap="nowrap" onclick="insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');"><a style="text-decoration: none;" onfocus="previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');" href="javascript:insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');" onclick="return false;" onmousedown="return false;" title="' + charmap[i][3] + '">'
+				+ '<td class="charmap">'
+				+ '<a onmouseover="previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');" onfocus="previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');" href="javascript:void(0)" onclick="insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');" onclick="return false;" onmousedown="return false;" title="' + charmap[i][3] + '">'
 				+ charmap[i][1]
 				+ '</a></td>';
 			if ((cols+1) % charsPerRow == 0)
 				html += '</tr><tr height="' + tdHeight + '">';
 		}
 	 }
+
 	if (cols % charsPerRow > 0) {
 		var padd = charsPerRow - (cols % charsPerRow);
 		for (var i=0; i<padd-1; i++)
 			html += '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap">&nbsp;</td>';
 	}
+
 	html += '</tr></table>';
-	document.write(html);
+
+	return html;
 }
 
 function insertChar(chr) {
@@ -305,6 +303,7 @@
 	if (tinyMCEPopup.isWindow)
 		window.focus();
 
+	tinyMCEPopup.editor.focus();
 	tinyMCEPopup.close();
 }
 

--
Gitblit v1.9.1