Index: _source/lang/en.js
===================================================================
--- _source/lang/en.js	(revision 5375)
+++ _source/lang/en.js	(working copy)
@@ -188,7 +188,31 @@
 		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',
+		notset				: '<not set>',
+		'default'			: 'Default',
+		armenian			: 'Armenian numbering',
+		georgian			: 'Georgian numbering (an, ban, gan, etc.)',
+		lowerRoman			: 'Lower Roman (i, ii, iii, iv, v, etc.)',
+		upperRoman			: 'Upper Roman (I, II, III, IV, V, etc.)',
+		lowerAlpha			: 'Lower Alpha (a, b, c, d, e, etc.)',
+		upperAlpha			: 'Upper Alpha (A, B, C, D, E, etc.)',
+		lowerGreek			: 'Lower Greek (alpha, beta, gamma, etc.)',
+		decimal				: 'Decimal (1, 2, 3, etc.)',
+		decimalLeadingZero	: 'Decimal leading zero (01, 02, 03, etc.)'
+	},
+	
 	// 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,191 @@
+﻿(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 );
+	}
+	
+	var mapListStyle = {
+		'lower-alpha' : 'a',
+		'upper-alpha' : 'A',
+		'lower-roman' : 'i',
+		'upper-roman' : 'I',
+		'decimal' : 1,
+		'disc' : 'disc',
+		'circle' : 'circle',
+		'square' : 'square'
+	};
+	
+	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.notset, '' ],
+									[ 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' ) ||
+												element.getAttribute( 'type' ) ||  '';
+
+									this.setValue( value );
+								},
+								commit : function( element )
+								{
+									var value = this.getValue();
+									if ( value != '' )
+									{
+										element.setStyle( 'list-style-type', value );
+										if ( value in mapListStyle )
+											element.setAttribute( 'type', value );
+									} 
+									else 
+									{
+										element.removeAttribute( 'type' );
+										element.removeStyle( 'list-style-type' );
+									}
+								}
+							}
+						]
+					}
+				],
+				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,
+										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.notset, '' ],
+											[ 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.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' ) ||
+														element.getAttribute( 'type' ) ||  '';
+
+											this.setValue( value );
+										},
+										commit : function( element )
+										{
+											var value = this.getValue();
+											// Reset style.
+											element.removeAttribute( 'type' );
+											element.removeStyle( 'list-style-type' );
+											
+											if ( value != '' )
+												element.setStyle( 'list-style-type', value );
+											
+											if ( value in mapListStyle )
+												element.setAttribute( 'type', mapListStyle[value] );
+											
+										}
+									}
+								]
+							}
+						]
+					}
+				],
+				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 );
+})();

