/*\r
- * Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.\r
+ * Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.\r
* For licensing, see LICENSE.html or http://ckeditor.com/license\r
*/\r
\r
var containedBlocks = [], block;\r
\r
// Get all ranges from the selection.\r
- var selection = editor.document.getSelection();\r
- var ranges = selection.getRanges();\r
+ var selection = editor.document.getSelection(),\r
+ ranges = selection.getRanges();\r
var bookmarks = selection.createBookmarks();\r
var i, iterator;\r
\r
{\r
var styleName;\r
if ( ( styleName = this.getValue() ) )\r
- styles[ styleName ].applyToObject( element );\r
+ {\r
+ var style = styles[ styleName ];\r
+ var customData = element.getCustomData( 'elementStyle' ) || '';\r
+\r
+ style.applyToObject( element );\r
+ element.setCustomData( 'elementStyle', customData + style._.definition.attributes.style );\r
+ }\r
}\r
},\r
{\r
commit : function( element )\r
{\r
// Merge with 'elementStyle', which is of higher priority.\r
- var value = this.getValue(),\r
- merged = [ value, element.getAttribute( 'style' ) ].join( ';' );\r
- value && element.setAttribute( 'style', merged );\r
+ var merged = this.getValue() + ( element.getCustomData( 'elementStyle' ) || '' );\r
+ element.setAttribute( 'style', merged );\r
}\r
}\r
]\r
],\r
onLoad : function()\r
{\r
- setupFields.call(this);\r
+ setupFields.call( this );\r
\r
// Preparing for the 'elementStyle' field.\r
var dialog = this,\r
},\r
onHide : function()\r
{\r
+ // Remove style only when editing existing DIV. (#6315)\r
+ if ( command == 'editdiv' )\r
+ this._element.removeCustomData( 'elementStyle' );\r
delete this._element;\r
}\r
};\r