/*\r
-Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.\r
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.\r
For licensing, see LICENSE.html or http://ckeditor.com/license\r
*/\r
\r
\r
getStyle : function( name, defaultValue )\r
{\r
- var match = this.getValue().match( new RegExp( name + '\\s*:\\s*([^;]*)', 'i') );\r
+ var match = this.getValue().match( new RegExp( '(?:^|;)\\s*' + name + '\\s*:\\s*([^;]*)', 'i' ) );\r
return match ? match[ 1 ] : defaultValue;\r
},\r
\r
{\r
var styles = this.getValue();\r
\r
- // Remove the current value.\r
- if ( styles )\r
- {\r
- styles = styles\r
- .replace( new RegExp( '\\s*' + name + '\s*:[^;]*(?:$|;\s*)', 'i' ), '' )\r
- .replace( /^[;\s]+/, '' )\r
- .replace( /\s+$/, '' );\r
- }\r
-\r
- if ( value )\r
- {\r
- styles && !(/;\s*$/).test( styles ) && ( styles += '; ' );\r
- styles += name + ': ' + value;\r
- }\r
+ var tmp = editor.document.createElement( 'span' );\r
+ tmp.setAttribute( 'style', styles );\r
+ tmp.setStyle( name, value );\r
+ styles = CKEDITOR.tools.normalizeCssText( tmp.getAttribute( 'style' ) );\r
\r
this.setValue( styles, 1 );\r
-\r
},\r
\r
setup : setupAdvParams,\r