--- a/includes/clientside/tinymce/plugins/searchreplace/js/searchreplace.js Sun Dec 21 15:35:46 2008 -0500
+++ b/includes/clientside/tinymce/plugins/searchreplace/js/searchreplace.js Sun Dec 21 16:28:00 2008 -0500
@@ -42,6 +42,9 @@
ca = f[m + '_panel_casesensitivebox'].checked;
rs = f['replace_panel_replacestring'].value;
+ if (s == '')
+ return;
+
function fix() {
// Correct Firefox graphics glitches
r = se.getRng().cloneRange();
@@ -62,6 +65,10 @@
switch (a) {
case 'all':
+ // Move caret to beginning of text
+ ed.execCommand('SelectAll');
+ ed.selection.collapse(true);
+
if (tinymce.isIE) {
while (r.findText(s, b ? -1 : 1, fl)) {
r.scrollIntoView();
@@ -79,14 +86,16 @@
}
if (fo)
- wm.alert(ed.getLang('searchreplace_dlg.allreplaced'));
+ tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.allreplaced'));
else
- wm.alert(ed.getLang('searchreplace_dlg.notfound'));
+ tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound'));
return;
case 'current':
- replace();
+ if (!ed.selection.isCollapsed())
+ replace();
+
break;
}
@@ -102,12 +111,12 @@
r.scrollIntoView();
r.select();
} else
- wm.alert(ed.getLang('searchreplace_dlg.notfound'));
+ tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound'));
tinyMCEPopup.storeSelection();
} else {
if (!w.find(s, ca, b, false, false, false, false))
- wm.alert(ed.getLang('searchreplace_dlg.notfound'));
+ tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound'));
else
fix();
}