settings['strict_loading_mode'] = true;\r
\r
settings.save_onsavecallback = function() {\r
- window.opener.tinyMCE.get(oeID).setContent(tinyMCE.get('fullscreenarea').getContent({format : 'raw'}), {format : 'raw'});\r
+ moveContent();\r
window.opener.tinyMCE.get(oeID).execCommand('mceSave');\r
window.close();\r
};\r
}\r
\r
function moveContent() {\r
- window.opener.tinyMCE.get(oeID).setContent(tinyMCE.activeEditor.getContent());\r
+ // find the original editor, execute restore state in it's plugin instance\r
+ window.opener.tinyMCE.get(oeID).plugins.fullscreen.saveState(tinyMCE.activeEditor);\r
+\r
+ // prevent moveContent from being called twice - e.g. if the unloadHandler runs after moveContent()\r
+ tinymce.dom.Event.remove(window, "beforeunload", unloadHandler);\r
}\r
\r
function closeFullscreen() {\r
- moveContent();\r
+ // moveContent() will be called by the unload handler\r
window.close();\r
}\r
\r
function render() {\r
var e = document.getElementById('fullscreenarea'), vp, ed, ow, oh, dom = tinymce.DOM;\r
\r
- e.value = window.opener.tinyMCE.get(oeID).getContent();\r
-\r
vp = dom.getViewPort();\r
settings.width = vp.w;\r
settings.height = vp.h - 15;\r
\r
- tinymce.dom.Event.add(window, 'resize', function() {\r
- var vp = dom.getViewPort();\r
+ settings.oninit = function() {\r
+ var ed = tinyMCE.activeEditor;\r
+ window.opener.tinyMCE.get(oeID).plugins.fullscreen.loadState(ed);\r
+\r
+ tinymce.dom.Event.add(window, 'resize', function() {\r
+ var vp = dom.getViewPort();\r
\r
- tinyMCE.activeEditor.theme.resizeTo(vp.w, vp.h);\r
- });\r
+ tinyMCE.activeEditor.theme.resizeTo(vp.w, vp.h);\r
+ });\r
+ }\r
\r
tinyMCE.init(settings);\r
}\r