includes/clientside/tinymce/plugins/searchreplace/js/searchreplace.js
changeset 778 57ce13805b6f
parent 543 dffcbfbc4e59
--- 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();
 		}