Index: _source/lang/en.js
===================================================================
--- _source/lang/en.js	(revision 5375)
+++ _source/lang/en.js	(working copy)
@@ -188,7 +188,32 @@
 		name		: 'Anchor Name',
 		errorName	: 'Please type the anchor name'
 	},
-
+	
+	// List style dialog
+	list:
+	{
+		numberedTitle		: 'Numbered List Properties',
+		bulletedTitle		: 'Bulleted List Properties',
+		type				: 'Type',
+		start				: 'Start',
+		circle				: 'Circle',
+		disc				: 'Disc',
+		square				: 'Square',
+		none				: 'None',
+		inherit				: 'Inherit',
+		armenian			: 'Armenian',
+		georgian			: 'Georgian',
+		lowerRoman			: 'Lower Roman',
+		upperRoman			: 'Upper Roman',
+		lowerAlpha			: 'Lower alpha',
+		upperAlpha			: 'Upper alpha',
+		lowerLatin			: 'Lower Latin',
+		upperLatin			: 'Upper Latin',
+		lowerGreek			: 'Lower Greek',
+		decimal				: 'Decimal',
+		decimalLeadingZero	: 'Decimal leading zero'
+	},
+	
 	// Find And Replace Dialog
 	findAndReplace :
 	{

Property changes on: _source\plugins\liststyle
___________________________________________________________________
Added: bugtraq:label
   + Ticket
Added: bugtraq:url
   + http://dev.fckeditor.net/ticket/%BUGID%
Added: webviewer:pathrevision
   + http://dev.fckeditor.net/browser/%PATH%?rev=%REVISION% 
Added: webviewer:revision
   + http://dev.fckeditor.net/changeset/%REVISION%
Added: bugtraq:logregex
   + (?:ticket: *|#)(\d+) *(?:, *(\d+))*



Property changes on: _source\plugins\liststyle\dialogs
___________________________________________________________________
Added: bugtraq:label
   + Ticket
Added: bugtraq:url
   + http://dev.fckeditor.net/ticket/%BUGID%
Added: webviewer:pathrevision
   + http://dev.fckeditor.net/browser/%PATH%?rev=%REVISION% 
Added: webviewer:revision
   + http://dev.fckeditor.net/changeset/%REVISION%
Added: bugtraq:logregex
   + (?:ticket: *|#)(\d+) *(?:, *(\d+))*


Index: _source/plugins/liststyle/dialogs/liststyle.js
===================================================================
--- _source/plugins/liststyle/dialogs/liststyle.js	(revision 0)
+++ _source/plugins/liststyle/dialogs/liststyle.js	(revision 0)
@@ -0,0 +1,157 @@
+﻿(function()
+{
+	function getListElement( editor, listTag )
+	{
+		var range;
+		try { range  = editor.getSelection().getRanges()[ 0 ]; }
+		catch( e ) { return null; }
+				
+		range.shrink( CKEDITOR.SHRINK_TEXT );
+		return range.getCommonAncestor().getAscendant( listTag, true );
+	}
+	
+	function listStyle( editor, startupPage )
+	{
+		if ( startupPage == 'bulletedListStyle' )
+		{
+			return {
+				title : editor.lang.list.bulletedTitle,
+				minWidth : 300,
+				minHeight : 50,
+				contents :
+				[
+					{
+						elements :
+						[
+							{
+								type : 'select',
+								label : editor.lang.list.type,
+								id: 'type',
+								style: 'width: 150px; margin: auto',
+								items :
+								[
+									[ editor.lang.list.circle, 'circle' ],
+									[ editor.lang.list.disc,  'disc' ],
+									[ editor.lang.list.square, 'square' ]
+								],
+								setup : function( element )
+								{
+									var value = element.getStyle( 'list-style-type' ) || 'disc';
+									this.setValue( value );
+								},
+								commit : function( element )
+								{
+									element.setStyle( 'list-style-type', this.getValue() );
+								}
+							}
+						]
+					}
+				],
+				onShow: function() 
+				{
+					var editor = this.getParentEditor(),
+						element = getListElement( editor, 'ul' );
+					
+					element && this.setupContent( element );
+				},
+				onOk: function()
+				{
+					var editor = this.getParentEditor(),
+						element = getListElement( editor, 'ul' );
+					
+					element && this.commitContent( element );
+				}
+			}
+		}
+		else if ( startupPage == 'numberedListStyle'  )
+		{
+			return {
+				title : editor.lang.list.numberedTitle,
+				minWidth : 300,
+				minHeight : 50,
+				contents :
+				[
+					{
+						elements :
+						[
+							{
+								type : 'hbox',
+								widths : [ '25%', '75%' ],
+								children :
+								[
+									{
+										label: editor.lang.list.start,
+										id: 'start',
+										type: 'text',
+										setup : function( element )
+										{
+											var value = element.getAttribute( 'start' ) || 1;
+											value && this.setValue( value );
+										},
+										commit : function( element )
+										{
+											element.setAttribute( 'start', this.getValue() );
+										}
+									},
+									{
+										type : 'select',
+										label : editor.lang.list.type,
+										style: 'width: 100%',
+										items :
+										[
+											[ editor.lang.list.inherit, 'inherit' ],
+											[ editor.lang.list.armenian, 'armenian' ],
+											[ editor.lang.list.georgian, 'georgian' ],
+											[ editor.lang.list.lowerRoman, 'lower-roman' ],
+											[ editor.lang.list.upperRoman, 'upper-roman' ],
+											[ editor.lang.list.lowerAlpha, 'lower-alpha' ],
+											[ editor.lang.list.upperAlpha, 'upper-alpha' ],
+											[ editor.lang.list.lowerLatin, 'lower-latin' ],
+											[ editor.lang.list.upperLatin, 'upper-latin' ],
+											[ editor.lang.list.lowerGreek, 'lower-greek' ],
+											[ editor.lang.list.decimal, 'decimal' ],
+											[ editor.lang.list.decimalLeadingZero, 'decimal-leading-zero' ]
+										],
+										setup : function( element )
+										{
+											var value = element.getStyle( 'list-style-type' ) || 'inherit';
+											this.setValue( value );
+										},
+										commit : function( element )
+										{
+											element.setStyle( 'list-style-type', this.getValue() );
+										}
+									}
+								]
+							}
+						]
+					}
+				],
+				onShow: function() 
+				{
+					var editor = this.getParentEditor(),
+						element = getListElement( editor, 'ol' );
+
+					element && this.setupContent( element );
+				},
+				onOk: function()
+				{
+					var editor = this.getParentEditor(),
+						element = getListElement( editor, 'ol' );
+					
+					element && this.commitContent( element );
+				}
+			}
+		}
+	};
+	
+	CKEDITOR.dialog.add( 'numberedListStyle', function( editor )
+		{
+			return listStyle( editor, 'numberedListStyle' );
+		});
+
+	CKEDITOR.dialog.add( 'bulletedListStyle', function( editor )
+		{
+			return listStyle( editor, 'bulletedListStyle' );
+		});
+})();
\ No newline at end of file
Index: _source/plugins/liststyle/plugin.js
===================================================================
--- _source/plugins/liststyle/plugin.js	(revision 0)
+++ _source/plugins/liststyle/plugin.js	(revision 0)
@@ -0,0 +1,61 @@
+﻿/*
+Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.html or http://ckeditor.com/license
+*/
+
+(function()
+{
+	CKEDITOR.plugins.liststyle =
+	{
+		init : function( editor )
+		{
+
+			editor.addCommand( 'numberedListStyle', new CKEDITOR.dialogCommand( 'numberedListStyle' ) );
+			CKEDITOR.dialog.add( 'numberedListStyle', this.path + 'dialogs/liststyle.js' );
+			editor.addCommand( 'bulletedListStyle', new CKEDITOR.dialogCommand( 'bulletedListStyle' ) );
+			CKEDITOR.dialog.add( 'bulletedListStyle', this.path + 'dialogs/liststyle.js' );
+
+			//Register map group;
+			editor.addMenuGroup("list", 108);
+			// If the "menu" plugin is loaded, register the menu items.
+			if ( editor.addMenuItems )
+			{
+				editor.addMenuItems(
+					{
+						numberedlist :
+						{
+							label : editor.lang.list.numberedTitle,
+							group : 'list',
+							command: 'numberedListStyle'
+						},
+						bulletedlist :
+						{
+							label : editor.lang.list.bulletedTitle,
+							group : 'list',
+							command: 'bulletedListStyle'
+						}
+					});
+			}
+		
+			// If the "contextmenu" plugin is loaded, register the listeners.
+			if ( editor.contextMenu )
+			{
+				editor.contextMenu.addListener( function( element, selection )
+					{
+						if ( !element )
+							return null;
+						
+						if ( element.getAscendant( 'ol') ) {
+							return { numberedlist: CKEDITOR.TRISTATE_OFF }
+						}
+						if ( element.getAscendant( 'ul' ) ) {
+							return { bulletedlist: CKEDITOR.TRISTATE_OFF }
+						}
+					} );
+			}
+		}
+
+	};
+	
+	CKEDITOR.plugins.add( 'liststyle', CKEDITOR.plugins.liststyle );
+})();

