From 63d6e6dfc35e6d82c4a64f37c408794c163becd4 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Wed, 28 Sep 2011 15:16:41 -0400
Subject: [PATCH] Bump versions to 0.6 stable

---
 program/js/tiny_mce/plugins/table/js/cell.js |  101 +++++++++++++++++++++++++++++++-------------------
 1 files changed, 63 insertions(+), 38 deletions(-)

diff --git a/program/js/tiny_mce/plugins/table/js/cell.js b/program/js/tiny_mce/plugins/table/js/cell.js
index 7d7f977..45e6061 100644
--- a/program/js/tiny_mce/plugins/table/js/cell.js
+++ b/program/js/tiny_mce/plugins/table/js/cell.js
@@ -11,7 +11,7 @@
 	document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor')
 
 	var inst = ed;
-	var tdElm = ed.dom.getParent(ed.selection.getNode(), "td,th");
+	var tdElm = ed.dom.getParent(ed.selection.getStart(), "td,th");
 	var formObj = document.forms[0];
 	var st = ed.dom.parseStyle(ed.dom.getAttrib(tdElm, "style"));
 
@@ -24,7 +24,7 @@
 	var bordercolor = convertRGBToHex(getStyle(tdElm, 'bordercolor', 'borderLeftColor'));
 	var bgcolor = convertRGBToHex(getStyle(tdElm, 'bgcolor', 'backgroundColor'));
 	var className = ed.dom.getAttrib(tdElm, 'class');
-	var backgroundimage = getStyle(tdElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");;
+	var backgroundimage = getStyle(tdElm, 'background', 'backgroundImage').replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1");
 	var id = ed.dom.getAttrib(tdElm, 'id');
 	var lang = ed.dom.getAttrib(tdElm, 'lang');
 	var dir = ed.dom.getAttrib(tdElm, 'dir');
@@ -34,53 +34,78 @@
 	addClassesToList('class', 'table_cell_styles');
 	TinyMCE_EditableSelects.init();
 
-	formObj.bordercolor.value = bordercolor;
-	formObj.bgcolor.value = bgcolor;
-	formObj.backgroundimage.value = backgroundimage;
-	formObj.width.value = width;
-	formObj.height.value = height;
-	formObj.id.value = id;
-	formObj.lang.value = lang;
-	formObj.style.value = ed.dom.serializeStyle(st);
-	selectByValue(formObj, 'align', align);
-	selectByValue(formObj, 'valign', valign);
-	selectByValue(formObj, 'class', className, true, true);
-	selectByValue(formObj, 'celltype', celltype);
-	selectByValue(formObj, 'dir', dir);
-	selectByValue(formObj, 'scope', scope);
+	if (!ed.dom.hasClass(tdElm, 'mceSelected')) {
+		formObj.bordercolor.value = bordercolor;
+		formObj.bgcolor.value = bgcolor;
+		formObj.backgroundimage.value = backgroundimage;
+		formObj.width.value = width;
+		formObj.height.value = height;
+		formObj.id.value = id;
+		formObj.lang.value = lang;
+		formObj.style.value = ed.dom.serializeStyle(st);
+		selectByValue(formObj, 'align', align);
+		selectByValue(formObj, 'valign', valign);
+		selectByValue(formObj, 'class', className, true, true);
+		selectByValue(formObj, 'celltype', celltype);
+		selectByValue(formObj, 'dir', dir);
+		selectByValue(formObj, 'scope', scope);
 
-	// Resize some elements
-	if (isVisible('backgroundimagebrowser'))
-		document.getElementById('backgroundimage').style.width = '180px';
+		// Resize some elements
+		if (isVisible('backgroundimagebrowser'))
+			document.getElementById('backgroundimage').style.width = '180px';
 
-	updateColor('bordercolor_pick', 'bordercolor');
-	updateColor('bgcolor_pick', 'bgcolor');
+		updateColor('bordercolor_pick', 'bordercolor');
+		updateColor('bgcolor_pick', 'bgcolor');
+	} else
+		tinyMCEPopup.dom.hide('action');
 }
 
 function updateAction() {
 	var el, inst = ed, tdElm, trElm, tableElm, formObj = document.forms[0];
 
 	tinyMCEPopup.restoreSelection();
-	el = ed.selection.getNode();
+	el = ed.selection.getStart();
 	tdElm = ed.dom.getParent(el, "td,th");
 	trElm = ed.dom.getParent(el, "tr");
 	tableElm = ed.dom.getParent(el, "table");
 
-	ed.execCommand('mceBeginUndoLevel');
+	// Cell is selected
+	if (ed.dom.hasClass(tdElm, 'mceSelected')) {
+		// Update all selected sells
+		tinymce.each(ed.dom.select('td.mceSelected,th.mceSelected'), function(td) {
+			updateCell(td);
+		});
+
+		ed.addVisual();
+		ed.nodeChanged();
+		inst.execCommand('mceEndUndoLevel');
+		tinyMCEPopup.close();
+		return;
+	}
 
 	switch (getSelectValue(formObj, 'action')) {
 		case "cell":
 			var celltype = getSelectValue(formObj, 'celltype');
 			var scope = getSelectValue(formObj, 'scope');
 
-			if (ed.getParam("accessibility_warnings")) {
-				if (celltype == "th" && scope == "")
-					var answer = confirm(ed.getLang('table_dlg.missing_scope', '', true));
-				else
-					var answer = true;
+			function doUpdate(s) {
+				if (s) {
+					updateCell(tdElm);
 
-				if (!answer)
-					return;
+					ed.addVisual();
+					ed.nodeChanged();
+					inst.execCommand('mceEndUndoLevel');
+					tinyMCEPopup.close();
+				}
+			};
+
+			if (ed.getParam("accessibility_warnings", 1)) {
+				if (celltype == "th" && scope == "")
+					tinyMCEPopup.confirm(ed.getLang('table_dlg.missing_scope', '', true), doUpdate);
+				else
+					doUpdate(1);
+
+				return;
 			}
 
 			updateCell(tdElm);
@@ -139,15 +164,15 @@
 	var dom = ed.dom;
 
 	if (!skip_id)
-		td.setAttribute('id', formObj.id.value);
+		dom.setAttrib(td, 'id', formObj.id.value);
 
-	td.setAttribute('align', formObj.align.value);
-	td.setAttribute('vAlign', formObj.valign.value);
-	td.setAttribute('lang', formObj.lang.value);
-	td.setAttribute('dir', getSelectValue(formObj, 'dir'));
-	td.setAttribute('style', ed.dom.serializeStyle(ed.dom.parseStyle(formObj.style.value)));
-	td.setAttribute('scope', formObj.scope.value);
-	ed.dom.setAttrib(td, 'class', getSelectValue(formObj, 'class'));
+	dom.setAttrib(td, 'align', formObj.align.value);
+	dom.setAttrib(td, 'vAlign', formObj.valign.value);
+	dom.setAttrib(td, 'lang', formObj.lang.value);
+	dom.setAttrib(td, 'dir', getSelectValue(formObj, 'dir'));
+	dom.setAttrib(td, 'style', ed.dom.serializeStyle(ed.dom.parseStyle(formObj.style.value)));
+	dom.setAttrib(td, 'scope', formObj.scope.value);
+	dom.setAttrib(td, 'class', getSelectValue(formObj, 'class'));
 
 	// Clear deprecated attributes
 	ed.dom.setAttrib(td, 'width', '');

--
Gitblit v1.9.1