Index: CKEditor/trunk/CHANGES.html
===================================================================
--- CKEditor/trunk/CHANGES.html	(revision 5266)
+++ CKEditor/trunk/CHANGES.html	(revision 5269)
@@ -44,4 +44,7 @@
 		<li><a href="http://dev.fckeditor.net/ticket/4810">#4810</a> : Adding configuration option for image dialog preview area filling text.</li>
 		<li><a href="http://dev.fckeditor.net/ticket/536">#536</a> : Object style now could be applied on any parent element of current selection.</li>
+		<li><a href="http://dev.fckeditor.net/ticket/5290">#5290</a> : Unified stylesSet loading removing dependecies from the styles combo. 
+					Now the configuration entry is named 'config.stylesSet' instead of config.stylesCombo_stylesSet and the default location 
+					is under the 'styles' plugin instead of 'stylescombo'.</li>
 	</ul>
 	<p>
Index: CKEditor/trunk/_source/plugins/div/dialogs/div.js
===================================================================
--- CKEditor/trunk/_source/plugins/div/dialogs/div.js	(revision 5266)
+++ CKEditor/trunk/_source/plugins/div/dialogs/div.js	(revision 5269)
@@ -437,44 +437,36 @@
 				// Preparing for the 'elementStyle' field.
 				var dialog = this,
-					 stylesField = this.getContentElement( 'info', 'elementStyle' ),
-					 // Reuse the 'stylescombo' plugin's styles definition.
-					 customStylesConfig =  editor.config.stylesCombo_stylesSet,
-					 stylesSetName = customStylesConfig && customStylesConfig.split( ':' )[ 0 ];
-
-				if ( stylesSetName )
-				{
-					CKEDITOR.stylesSet.load( stylesSetName,
-						function( stylesSet )
+					 stylesField = this.getContentElement( 'info', 'elementStyle' );
+
+				 // Reuse the 'stylescombo' plugin's styles definition.
+				editor.getStylesSet( function( stylesDefinitions )
+				{
+					var styleName;
+
+					if ( stylesDefinitions )
+					{
+						// Digg only those styles that apply to 'div'.
+						for ( var i = 0 ; i < stylesDefinitions.length ; i++ )
 						{
-							var stylesDefinitions = stylesSet[ stylesSetName ],
-								styleName;
-
-							if ( stylesDefinitions )
-							{
-								// Digg only those styles that apply to 'div'.
-								for ( var i = 0 ; i < stylesDefinitions.length ; i++ )
-								{
-									var styleDefinition = stylesDefinitions[ i ];
-									if ( styleDefinition.element && styleDefinition.element == 'div' )
-									{
-										styleName = styleDefinition.name;
-										styles[ styleName ] = new CKEDITOR.style( styleDefinition );
-
-										// Populate the styles field options with style name.
-										stylesField.items.push( [ styleName, styleName ] );
-										stylesField.add( styleName, styleName );
-									}
-								}
+							var styleDefinition = stylesDefinitions[ i ];
+							if ( styleDefinition.element && styleDefinition.element == 'div' )
+							{
+								styleName = styleDefinition.name;
+								styles[ styleName ] = new CKEDITOR.style( styleDefinition );
+
+								// Populate the styles field options with style name.
+								stylesField.items.push( [ styleName, styleName ] );
+								stylesField.add( styleName, styleName );
 							}
-
-
-							// We should disable the content element
-							// it if no options are available at all.
-							stylesField[ stylesField.items.length > 1 ? 'enable' : 'disable' ]();
-
-							// Now setup the field value manually.
-							setTimeout( function() { stylesField.setup( dialog._element ); }, 0 );
-						} );
-				}
+						}
+					}
+
+					// We should disable the content element
+					// it if no options are available at all.
+					stylesField[ stylesField.items.length > 1 ? 'enable' : 'disable' ]();
+
+					// Now setup the field value manually.
+					setTimeout( function() { stylesField.setup( dialog._element ); }, 0 );
+				} );
 			},
 			onShow : function()
Index: CKEditor/trunk/_source/plugins/styles/plugin.js
===================================================================
--- CKEditor/trunk/_source/plugins/styles/plugin.js	(revision 5266)
+++ CKEditor/trunk/_source/plugins/styles/plugin.js	(revision 5269)
@@ -211,5 +211,5 @@
 			return false;
 		},
-		
+
 		checkApplicable : function( elementPath )
 		{
@@ -1311,2 +1311,62 @@
 		CKEDITOR.stylesSet.load( name, callback );
 	};
+
+
+/**
+ * Gets the current styleSet for this instance
+ * @param {Function} The function to be called with the styles data.
+ * @example
+ * editor.getStylesSet( function( stylesDefinitions ) {} );
+ */
+CKEDITOR.editor.prototype.getStylesSet = function( callback )
+{
+	if ( !this._.stylesDefinitions )
+	{
+		var editor = this,
+			// Respect the backwards compatible definition entry
+			configStyleSet = editor.config.stylesCombo_stylesSet || editor.config.stylesSet,
+			partsStylesSet = configStyleSet.split( ':' ),
+			styleSetName = partsStylesSet[ 0 ],
+			externalPath = partsStylesSet[ 1 ],
+			pluginPath = CKEDITOR.plugins.registered.styles.path;
+
+		CKEDITOR.stylesSet.addExternal( styleSetName,
+				externalPath ?
+					partsStylesSet.slice( 1 ).join( ':' ) :
+					pluginPath + 'styles/' + styleSetName + '.js', '' );
+
+
+		CKEDITOR.stylesSet.load( styleSetName, function( stylesSet )
+			{
+				editor._.stylesDefinitions = stylesSet[ styleSetName ];
+				callback( editor._.stylesDefinitions );
+			} ) ;
+	}
+	else
+		callback( this._.stylesDefinitions );
+};
+
+/**
+ * The "styles definition set" to use in the editor. They will be used in the
+ * styles combo and the Style selector of the div container. <br>
+ * The styles may be defined in the page containing the editor, or can be
+ * loaded on demand from an external file. In the second case, if this setting
+ * contains only a name, the styles definition file will be loaded from the
+ * "styles" folder inside the styles plugin folder.
+ * Otherwise, this setting has the "name:url" syntax, making it
+ * possible to set the URL from which loading the styles file.<br>
+ * Previously this setting was available as config.stylesCombo_stylesSet<br>
+ * @type string
+ * @default 'default'
+ * @since 3.3
+ * @example
+ * // Load from the styles' styles folder (mystyles.js file).
+ * config.stylesSet = 'mystyles';
+ * @example
+ * // Load from a relative URL.
+ * config.stylesSet = 'mystyles:/editorstyles/styles.js';
+ * @example
+ * // Load from a full URL.
+ * config.stylesSet = 'mystyles:http://www.example.com/editorstyles/styles.js';
+ */
+CKEDITOR.config.stylesSet = 'default';
Index: CKEditor/trunk/_source/plugins/styles/styles/default.js
===================================================================
--- CKEditor/trunk/_source/plugins/styles/styles/default.js	(revision 5269)
+++ CKEditor/trunk/_source/plugins/styles/styles/default.js	(revision 5269)
@@ -0,0 +1,88 @@
+/*
+Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.html or http://ckeditor.com/license
+*/
+
+CKEDITOR.stylesSet.add( 'default',
+[
+	/* Block Styles */
+
+	// These styles are already available in the "Format" combo, so they are
+	// not needed here by default. You may enable them to avoid placing the
+	// "Format" combo in the toolbar, maintaining the same features.
+	/*
+	{ name : 'Paragraph'		, element : 'p' },
+	{ name : 'Heading 1'		, element : 'h1' },
+	{ name : 'Heading 2'		, element : 'h2' },
+	{ name : 'Heading 3'		, element : 'h3' },
+	{ name : 'Heading 4'		, element : 'h4' },
+	{ name : 'Heading 5'		, element : 'h5' },
+	{ name : 'Heading 6'		, element : 'h6' },
+	{ name : 'Preformatted Text', element : 'pre' },
+	{ name : 'Address'			, element : 'address' },
+	*/
+
+	{ name : 'Blue Title'		, element : 'h3', styles : { 'color' : 'Blue' } },
+	{ name : 'Red Title'		, element : 'h3', styles : { 'color' : 'Red' } },
+
+	/* Inline Styles */
+
+	// These are core styles available as toolbar buttons. You may opt enabling
+	// some of them in the Styles combo, removing them from the toolbar.
+	/*
+	{ name : 'Strong'			, element : 'strong', overrides : 'b' },
+	{ name : 'Emphasis'			, element : 'em'	, overrides : 'i' },
+	{ name : 'Underline'		, element : 'u' },
+	{ name : 'Strikethrough'	, element : 'strike' },
+	{ name : 'Subscript'		, element : 'sub' },
+	{ name : 'Superscript'		, element : 'sup' },
+	*/
+
+	{ name : 'Marker: Yellow'	, element : 'span', styles : { 'background-color' : 'Yellow' } },
+	{ name : 'Marker: Green'	, element : 'span', styles : { 'background-color' : 'Lime' } },
+
+	{ name : 'Big'				, element : 'big' },
+	{ name : 'Small'			, element : 'small' },
+	{ name : 'Typewriter'		, element : 'tt' },
+
+	{ name : 'Computer Code'	, element : 'code' },
+	{ name : 'Keyboard Phrase'	, element : 'kbd' },
+	{ name : 'Sample Text'		, element : 'samp' },
+	{ name : 'Variable'			, element : 'var' },
+
+	{ name : 'Deleted Text'		, element : 'del' },
+	{ name : 'Inserted Text'	, element : 'ins' },
+
+	{ name : 'Cited Work'		, element : 'cite' },
+	{ name : 'Inline Quotation'	, element : 'q' },
+
+	{ name : 'Language: RTL'	, element : 'span', attributes : { 'dir' : 'rtl' } },
+	{ name : 'Language: LTR'	, element : 'span', attributes : { 'dir' : 'ltr' } },
+
+	/* Object Styles */
+
+	{
+		name : 'Image on Left',
+		element : 'img',
+		attributes :
+		{
+			'style' : 'padding: 5px; margin-right: 5px',
+			'border' : '2',
+			'align' : 'left'
+		}
+	},
+
+	{
+		name : 'Image on Right',
+		element : 'img',
+		attributes :
+		{
+			'style' : 'padding: 5px; margin-left: 5px',
+			'border' : '2',
+			'align' : 'right'
+		}
+	},
+
+	{ name : 'Borderless Table', element : 'table', styles: { 'border-style': 'hidden', 'background-color' : '#E6E6FA' } },
+	{ name : 'Square Bulleted List', element : 'ul', styles : { 'list-style-type' : 'square' } }
+]);
Index: CKEditor/trunk/_source/plugins/stylescombo/plugin.js
===================================================================
--- CKEditor/trunk/_source/plugins/stylescombo/plugin.js	(revision 5266)
+++ CKEditor/trunk/_source/plugins/stylescombo/plugin.js	(revision 5269)
@@ -6,6 +6,4 @@
 (function()
 {
-	var stylesManager;
-
 	CKEDITOR.plugins.add( 'stylescombo',
 	{
@@ -16,51 +14,36 @@
 			var config = editor.config,
 				lang = editor.lang.stylesCombo,
-				pluginPath = this.path,
 				styles = {},
 				stylesList = [];
 
-			if ( !stylesManager )
-				stylesManager = CKEDITOR.stylesSet;
-
-			var comboStylesSet = config.stylesCombo_stylesSet.split( ':' ),
-				styleSetName = comboStylesSet[ 0 ],
-				externalPath = comboStylesSet[ 1 ];
-
-			stylesManager.addExternal( styleSetName,
-					externalPath ?
-						comboStylesSet.slice( 1 ).join( ':' ) :
-						pluginPath + 'styles/' + styleSetName + '.js', '' );
-
 			function loadStylesSet( callback )
-		   {
-			   CKEDITOR.stylesSet.load( styleSetName, function( stylesSet )
-				   {
-					   if ( !stylesList.length )
-					   {
-						   var stylesDefinitions = stylesSet[ styleSetName ],
-							   style,
-							   styleName;
-
-						   // Put all styles into an Array.
-						   for ( var i = 0 ; i < stylesDefinitions.length ; i++ )
-						   {
-							   var styleDefinition = stylesDefinitions[ i ];
-
-							   styleName = styleDefinition.name;
-
-							   style = styles[ styleName ] = new CKEDITOR.style( styleDefinition );
-							   style._name = styleName;
-
-							   stylesList.push( style );
-						   }
-
-						   // Sorts the Array, so the styles get grouped
-						   // by type.
-						   stylesList.sort( sortStyles );
-					   }
-
-					   callback && callback();
-				   });
-		   }
+			{
+				editor.getStylesSet( function( stylesDefinitions )
+				{
+					if ( !stylesList.length )
+					{
+						var style,
+							styleName;
+
+						// Put all styles into an Array.
+						for ( var i = 0 ; i < stylesDefinitions.length ; i++ )
+						{
+							var styleDefinition = stylesDefinitions[ i ];
+
+							styleName = styleDefinition.name;
+
+							style = styles[ styleName ] = new CKEDITOR.style( styleDefinition );
+							style._name = styleName;
+
+							stylesList.push( style );
+						}
+
+						// Sorts the Array, so the styles get grouped by type.
+						stylesList.sort( sortStyles );
+					}
+
+					callback && callback();
+				});
+			}
 
 			editor.ui.addRichCombo( 'Styles',
@@ -252,24 +235,2 @@
 	}
 })();
-
-/**
- * The "styles definition set" to load into the styles combo. The styles may
- * be defined in the page containing the editor, or can be loaded on demand
- * from an external file when opening the styles combo for the fist time. In
- * the second case, if this setting contains only a name, the styles definition
- * file will be loaded from the "styles" folder inside the stylescombo plugin
- * folder. Otherwise, this setting has the "name:url" syntax, making it
- * possible to set the URL from which loading the styles file.
- * @type string
- * @default 'default'
- * @example
- * // Load from the stylescombo styles folder (mystyles.js file).
- * config.stylesCombo_stylesSet = 'mystyles';
- * @example
- * // Load from a relative URL.
- * config.stylesCombo_stylesSet = 'mystyles:/editorstyles/styles.js';
- * @example
- * // Load from a full URL.
- * config.stylesCombo_stylesSet = 'mystyles:http://www.example.com/editorstyles/styles.js';
- */
-CKEDITOR.config.stylesCombo_stylesSet = 'default';
