Index: /FCKeditor/trunk/_whatsnew.html
===================================================================
--- /FCKeditor/trunk/_whatsnew.html	(revision 151)
+++ /FCKeditor/trunk/_whatsnew.html	(revision 152)
@@ -62,4 +62,6 @@
 		<li>[<a target="_blank" href="https://sourceforge.net/tracker/?func=detail&aid=1573191&group_id=75348&atid=543653">SF
 			BUG-1573191</a>] The Html code inserted with FCK.InsertHtml didn't have the same protection for special tags.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/118">Ticket-118</a>] 
+			The SelectAll command now is available in Source Mode.</li>
 	</ul>
 	<h3>
Index: /FCKeditor/trunk/editor/_source/classes/fckeditingarea.js
===================================================================
--- /FCKeditor/trunk/editor/_source/classes/fckeditingarea.js	(revision 151)
+++ /FCKeditor/trunk/editor/_source/classes/fckeditingarea.js	(revision 152)
@@ -251,2 +251,31 @@
 	}
 }
+
+// Select the contents of the editing area
+FCKEditingArea.prototype.SelectAll = function()
+{
+		if ( this.Mode == FCK_EDITMODE_WYSIWYG )
+		{
+			FCK.ExecuteNamedCommand( 'SelectAll' ) ;
+		}
+		else
+		{
+			// Select the contents of the textarea
+			var textarea = this.Textarea ;
+			if ( FCKBrowserInfo.IsIE )
+			{
+        var range = textarea.createTextRange() ;
+        range.collapse( true ) ;
+        range.moveEnd( 'character', textarea.value.length ) ;
+        range.moveStart( 'character', 0 ) ;
+        range.select() ;
+			}
+			else
+			{
+				textarea.selectionStart = 0;
+				textarea.selectionEnd = textarea.value.length ;
+			}
+			textarea.focus() ;
+		}
+
+}
Index: /FCKeditor/trunk/editor/_source/commandclasses/fck_othercommands.js
===================================================================
--- /FCKeditor/trunk/editor/_source/commandclasses/fck_othercommands.js	(revision 151)
+++ /FCKeditor/trunk/editor/_source/commandclasses/fck_othercommands.js	(revision 152)
@@ -331,5 +331,8 @@
 }
 
-FCKSelectAllCommand.prototype = new FCKNamedCommand( 'SelectAll' ) ;
+FCKSelectAllCommand.prototype.Execute = function()
+{
+	FCK.EditingArea.SelectAll() ;
+}
 
 FCKSelectAllCommand.prototype.GetState = function()
Index: /FCKeditor/trunk/editor/_source/internals/fcktoolbaritems.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fcktoolbaritems.js	(revision 151)
+++ /FCKeditor/trunk/editor/_source/internals/fcktoolbaritems.js	(revision 152)
@@ -56,5 +56,5 @@
 		case 'Undo'				: oItem = new FCKToolbarButton( 'Undo'		, FCKLang.Undo, null, null, false, true, 14 ) ; break ;
 		case 'Redo'				: oItem = new FCKToolbarButton( 'Redo'		, FCKLang.Redo, null, null, false, true, 15 ) ; break ;
-		case 'SelectAll'		: oItem = new FCKToolbarButton( 'SelectAll'	, FCKLang.SelectAll, null, null, null, null, 18 ) ; break ;
+		case 'SelectAll'		: oItem = new FCKToolbarButton( 'SelectAll'	, FCKLang.SelectAll, null, null, true, null, 18 ) ; break ;
 		case 'RemoveFormat'		: oItem = new FCKToolbarButton( 'RemoveFormat', FCKLang.RemoveFormat, null, null, false, true, 19 ) ; break ;
 		case 'FitWindow'		: oItem = new FCKToolbarButton( 'FitWindow'	, FCKLang.FitWindow, null, null, true, true, 66 ) ; break ;
