\r
var SearchReplaceDialog = {\r
init : function(ed) {\r
- var f = document.forms[0], m = tinyMCEPopup.getWindowArg("mode");\r
+ var t = this, f = document.forms[0], m = tinyMCEPopup.getWindowArg("mode");\r
\r
- this.switchMode(m);\r
+ t.switchMode(m);\r
\r
f[m + '_panel_searchstring'].value = tinyMCEPopup.getWindowArg("search_string");\r
\r
// Focus input field\r
f[m + '_panel_searchstring'].focus();\r
+ \r
+ mcTabs.onChange.add(function(tab_id, panel_id) {\r
+ t.switchMode(tab_id.substring(0, tab_id.indexOf('_')));\r
+ });\r
},\r
\r
switchMode : function(m) {\r
ca = f[m + '_panel_casesensitivebox'].checked;\r
rs = f['replace_panel_replacestring'].value;\r
\r
+ if (tinymce.isIE) {\r
+ r = ed.getDoc().selection.createRange();\r
+ }\r
+\r
if (s == '')\r
return;\r
\r
function fix() {\r
// Correct Firefox graphics glitches\r
+ // TODO: Verify if this is actually needed any more, maybe it was for very old FF versions? \r
r = se.getRng().cloneRange();\r
ed.getDoc().execCommand('SelectAll', false, null);\r
se.setRng(r);\r
};\r
\r
function replace() {\r
- if (tinymce.isIE)\r
- ed.selection.getRng().duplicate().pasteHTML(rs); // Needs to be duplicated due to selection bug in IE\r
- else\r
- ed.getDoc().execCommand('InsertHTML', false, rs);\r
+ ed.selection.setContent(rs); // Needs to be duplicated due to selection bug in IE\r
};\r
\r
// IE flags\r
ed.selection.collapse(true);\r
\r
if (tinymce.isIE) {\r
+ ed.focus();\r
+ r = ed.getDoc().selection.createRange();\r
+\r
while (r.findText(s, b ? -1 : 1, fl)) {\r
r.scrollIntoView();\r
r.select();\r
return;\r
\r
if (tinymce.isIE) {\r
+ ed.focus();\r
+ r = ed.getDoc().selection.createRange();\r
+\r
if (r.findText(s, b ? -1 : 1, fl)) {\r
r.scrollIntoView();\r
r.select();\r