break;\r
}\r
focusList[ currentIndex ].focus();\r
+\r
+ // Select whole field content.\r
+ if ( focusList[ currentIndex ].type == 'text' )\r
+ focusList[ currentIndex ].select();\r
}\r
\r
function focusKeydownHandler( evt )\r
\r
CKEDITOR.document.on( 'keydown', accessKeyDownHandler );\r
CKEDITOR.document.on( 'keyup', accessKeyUpHandler );\r
+\r
+ // Prevent some keys from bubbling up. (#4269)\r
+ for ( var event in { keyup :1, keydown :1, keypress :1 } )\r
+ CKEDITOR.document.on( event, preventKeyBubbling );\r
}\r
else\r
{\r
// Remove access key handlers.\r
CKEDITOR.document.removeListener( 'keydown', accessKeyDownHandler );\r
CKEDITOR.document.removeListener( 'keyup', accessKeyUpHandler );\r
+ CKEDITOR.document.removeListener( 'keypress', accessKeyUpHandler );\r
+\r
+ // Remove bubbling-prevention handler. (#4269)\r
+ for ( var event in { keyup :1, keydown :1, keypress :1 } )\r
+ CKEDITOR.document.removeListener( event, preventKeyBubbling );\r
\r
var editor = this._.editor;\r
editor.focus();\r
magnetDistance = editor.config.dialog_magnetDistance,\r
margins = skinData[ editor.skinName ].margins || [ 0, 0, 0, 0 ];\r
\r
+ if ( typeof magnetDistance == 'undefined' )\r
+ magnetDistance = 20;\r
+\r
function mouseMoveHandler( evt )\r
{\r
var dialogSize = dialog.getSize(),\r
'<div style="position: ', ( CKEDITOR.env.ie6Compat ? 'absolute' : 'fixed' ),\r
'; z-index: ', editor.config.baseFloatZIndex,\r
'; top: 0px; left: 0px; ',\r
- 'background-color: ', editor.config.dialog_backgroundCoverColor,\r
+ 'background-color: ', editor.config.dialog_backgroundCoverColor || 'white',\r
'" id="cke_dialog_background_cover">'\r
];\r
\r
}, 0 );\r
scrollFunc();\r
}\r
- element.setOpacity( editor.config.dialog_backgroundCoverOpacity );\r
+\r
+ var opacity = editor.config.dialog_backgroundCoverOpacity;\r
+ element.setOpacity( typeof opacity != 'undefined' ? opacity : 0.5 );\r
+\r
element.appendTo( CKEDITOR.document.getBody() );\r
};\r
\r
{\r
};\r
\r
+ // ESC, ENTER\r
+ var preventKeyBubblingKeys = { 27 :1, 13 :1 };\r
+ var preventKeyBubbling = function( e )\r
+ {\r
+ if ( e.data.getKeystroke() in preventKeyBubblingKeys )\r
+ e.data.stopPropagation();\r
+ };\r
+\r
(function()\r
{\r
CKEDITOR.ui.dialog =\r
/**\r
* The color of the dialog background cover. It should be a valid CSS color\r
* string.\r
+ * @name CKEDITOR.config.dialog_backgroundCoverColor\r
* @type String\r
- * @default white\r
+ * @default 'white'\r
* @example\r
* config.dialog_backgroundCoverColor = 'rgb(255, 254, 253)';\r
*/\r
-CKEDITOR.config.dialog_backgroundCoverColor = 'white';\r
\r
/**\r
* The opacity of the dialog background cover. It should be a number within the\r
* range [0.0, 1.0].\r
+ * @name CKEDITOR.config.dialog_backgroundCoverOpacity\r
* @type Number\r
* @default 0.5\r
* @example\r
* config.dialog_backgroundCoverOpacity = 0.7;\r
*/\r
-CKEDITOR.config.dialog_backgroundCoverOpacity = 0.5;\r
\r
/**\r
* The distance of magnetic borders used in moving and resizing dialogs,\r
* measured in pixels.\r
+ * @name CKEDITOR.config.dialog_magnetDistance\r
* @type Number\r
* @default 20\r
* @example\r
* config.dialog_magnetDistance = 30;\r
*/\r
-CKEDITOR.config.dialog_magnetDistance = 20;\r