diff -r 5882f0eebb34 -r e3b94bd055dc includes/clientside/tinymce/plugins/paste/js/pasteword.js --- a/includes/clientside/tinymce/plugins/paste/js/pasteword.js Mon Dec 21 15:41:05 2009 -0500 +++ b/includes/clientside/tinymce/plugins/paste/js/pasteword.js Tue Dec 22 13:09:59 2009 -0500 @@ -1,56 +1,51 @@ tinyMCEPopup.requireLangPack(); -function saveContent() { - var html = document.getElementById("frmData").contentWindow.document.body.innerHTML; +var PasteWordDialog = { + init : function() { + var ed = tinyMCEPopup.editor, el = document.getElementById('iframecontainer'), ifr, doc, css, cssHTML = ''; - if (html == ''){ - tinyMCEPopup.close(); - return false; - } - - tinyMCEPopup.execCommand('mcePasteWord', false, html); - tinyMCEPopup.close(); -} + // Create iframe + el.innerHTML = ''; + ifr = document.getElementById('iframe'); + doc = ifr.contentWindow.document; -function onLoadInit() { - tinyMCEPopup.resizeToInnerSize(); + // Force absolute CSS urls + css = [ed.baseURI.toAbsolute("themes/" + ed.settings.theme + "/skins/" + ed.settings.skin + "/content.css")]; + css = css.concat(tinymce.explode(ed.settings.content_css) || []); + tinymce.each(css, function(u) { + cssHTML += ''; + }); - // Fix for endless reloading in FF - window.setTimeout(createIFrame, 10); -} + // Write content into iframe + doc.open(); + doc.write('' + cssHTML + ''); + doc.close(); -function createIFrame() { - document.getElementById('iframecontainer').innerHTML = ''; -} - -var wHeight=0, wWidth=0, owHeight=0, owWidth=0; + doc.designMode = 'on'; + this.resize(); -function initIframe(doc) { - var dir = tinyMCEPopup.editor.settings.directionality; - - doc.body.dir = dir; + window.setTimeout(function() { + ifr.contentWindow.focus(); + }, 10); + }, - // Remove Gecko spellchecking - if (tinymce.isGecko) - doc.body.spellcheck = tinyMCEPopup.getParam("gecko_spellcheck"); + insert : function() { + var h = document.getElementById('iframe').contentWindow.document.body.innerHTML; - resizeInputs(); -} + tinyMCEPopup.editor.execCommand('mceInsertClipboardContent', false, {content : h, wordContent : true}); + tinyMCEPopup.close(); + }, -function resizeInputs() { - if (!tinymce.isIE) { - wHeight = self.innerHeight - 80; - wWidth = self.innerWidth - 18; - } else { - wHeight = document.body.clientHeight - 80; - wWidth = document.body.clientWidth - 18; - } + resize : function() { + var vp = tinyMCEPopup.dom.getViewPort(window), el; + + el = document.getElementById('iframe'); - var elm = document.getElementById('frmData'); - if (elm) { - elm.style.height = Math.abs(wHeight) + 'px'; - elm.style.width = Math.abs(wWidth) + 'px'; + if (el) { + el.style.width = (vp.w - 20) + 'px'; + el.style.height = (vp.h - 90) + 'px'; + } } -} +}; -tinyMCEPopup.onInit.add(onLoadInit); +tinyMCEPopup.onInit.add(PasteWordDialog.init, PasteWordDialog);