Index: _source/lang/en.js
===================================================================
--- _source/lang/en.js	(revision 5375)
+++ _source/lang/en.js	(working copy)
@@ -188,7 +188,21 @@
 		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',
+		style_1				: 'Numbers (1, 2, 3)',
+		style_a				: 'Lowercase Letters (a, b, c)',			
+		style_A				: 'Uppercase Letters (A, B, C)',			
+		style_i				: 'Small Roman Numerals (i, ii, iii)',			
+		style_I				: 'Large Roman Numerals (I, II, III)',			
+	},
+	
 	// 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,150 @@
+﻿(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',
+								width: '100px',
+								items :
+								[
+									[ 'Circle' ],
+									[ 'Disc' ],
+									[ 'Square' ]
+								],
+								setup : function( element )
+								{
+									var value = element.getAttribute( 'type' ) || 'Disc';
+									this.setValue( value );
+								},
+								commit : function( element )
+								{
+									element.setAttribute( '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,
+										width: '100%',
+										items :
+										[
+											[ editor.lang.list.style_1 , '1' ],
+											[ editor.lang.list.style_a , 'a' ],
+											[ editor.lang.list.style_A , 'A' ],
+											[ editor.lang.list.style_i , 'i' ],
+											[ editor.lang.list.style_I , 'I' ]
+										],
+										setup : function( element )
+										{
+											var value = element.getAttribute( 'type' ) || '1';
+											this.setValue( value );
+										},
+										commit : function( element )
+										{
+											element.setAttribute( '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 );
+})();

