Index: admin/index.php
===================================================================
--- admin/index.php	(revision 536)
+++ admin/index.php	(revision 691)
@@ -289,5 +289,5 @@
 {
 	echo
-	'<p><a href="'.$i[1].'"><img src="'.$i[2].'" alt="" />'.
+	'<p><a href="'.$i[1].'"><img src="'.dc_admin_icon_url($i[2]).'" alt="" />'.
 	'<br /><span>'.$i[0].'</span></a></p>';
 }
Index: admin/preferences.php
===================================================================
--- admin/preferences.php	(revision 590)
+++ admin/preferences.php	(revision 692)
@@ -41,4 +41,5 @@
 	$user_ui_hide_std_favicon = $core->auth->user_prefs->interface->hide_std_favicon;
 }
+$user_ui_iconset = @$core->auth->user_prefs->interface->iconset;
 
 $default_tab = !empty($_GET['tab']) ? html::escapeHTML($_GET['tab']) : 'user-profile';
@@ -60,4 +61,16 @@
 foreach ($core->blog->getAllPostStatus() as $k => $v) {
 	$status_combo[$v] = $k;
+}
+
+$iconsets_combo = array(__('Default') => '');
+$iconsets_root = dirname(__FILE__).'/images/iconset/';
+if (is_dir($iconsets_root) && is_readable($iconsets_root)) {
+	if (($d = @dir($iconsets_root)) !== false) {
+		while (($entry = $d->read()) !== false) {
+			if ($entry != '.' && $entry != '..' && is_dir($iconsets_root.'/'.$entry)) {
+				$iconsets_combo[$entry] = $entry;
+			}
+		}
+	}
 }
 
@@ -161,4 +174,5 @@
 			$core->auth->user_prefs->interface->put('hide_std_favicon',!empty($_POST['user_ui_hide_std_favicon']),'boolean',null,true,true);
 		}
+		$core->auth->user_prefs->interface->put('iconset',(!empty($_POST['user_ui_iconset']) ? $_POST['user_ui_iconset'] : ''));
 		
 		# Udate user
@@ -442,5 +456,8 @@
 '<p><label for="user_ui_enhanceduploader" class="classic">'.
 form::checkbox('user_ui_enhanceduploader',1,$user_ui_enhanceduploader).' '.
-__('Activate enhanced uploader in media manager').'</label></p>';
+__('Activate enhanced uploader in media manager').'</label></p>'.
+
+'<p><label for="user_ui_iconset">'.__('Iconset:').
+form::combo('user_ui_iconset',$iconsets_combo,$user_ui_iconset).'</label></p>';
 
 if ($core->auth->isSuperAdmin()) {
@@ -512,5 +529,5 @@
 			$count++;
 			echo '<li id="fu-'.$k.'">'.
-				'<img src="'.$fav['large-icon'].'" alt="" /> '.
+				'<img src="'.dc_admin_icon_url($fav['large-icon']).'" alt="" /> '.
 				form::field(array('order['.$k.']'),2,3,$count,'position','',false,'title="'.sprintf(__('position of %s'),$fav['title']).'"').
 				form::hidden(array('dynorder[]','dynorder-'.$k.''),$k).
@@ -558,5 +575,5 @@
 			$count++;
 			echo '<li id="fd-'.$k.'">'.
-			'<img src="'.$fav['small-icon'].'" alt="" /> '.__($fav['title']).'</li>';
+			'<img src="'.dc_admin_icon_url($fav['small-icon']).'" alt="" /> '.__($fav['title']).'</li>';
 		}
 	}
@@ -584,5 +601,5 @@
 		echo '<li id="fa-'.$fav[0].'">'.'<label for="fak-'.$fav[0].'">'.
 			form::checkbox(array('append[]','fak-'.$fav[0]),$k).
-			'<img src="'.$fav[3].'" alt="" /> '.'<span class="zoom"><img src="'.$fav[4].'" alt="" /></span>'.
+			'<img src="'.dc_admin_icon_url($fav[3]).'" alt="" /> '.'<span class="zoom"><img src="'.dc_admin_icon_url($fav[4]).'" alt="" /></span>'.
 			__($fav[1]).'</label>'.'</li>';
 	}
Index: inc/admin/class.dc.menu.php
===================================================================
--- inc/admin/class.dc.menu.php	(revision 270)
+++ inc/admin/class.dc.menu.php	(revision 691)
@@ -75,4 +75,6 @@
 		}
 		
+		$img = dc_admin_icon_url($img);
+		
 		return
 		'<li'.(($active || $class) ? ' class="'.(($active) ? 'active ' : '').(($class) ? $class : '').'"' : '').
Index: inc/admin/prepend.php
===================================================================
--- inc/admin/prepend.php	(revision 489)
+++ inc/admin/prepend.php	(revision 692)
@@ -56,4 +56,28 @@
 	l10n::set(dirname(__FILE__).'/../../locales/'.$_lang.'/main');
 	l10n::set(dirname(__FILE__).'/../../locales/'.$_lang.'/plugins');
+}
+
+function dc_admin_icon_url($img)
+{
+	global $core;
+	
+	$core->auth->user_prefs->addWorkspace('interface');
+	$user_ui_iconset = @$core->auth->user_prefs->interface->iconset;
+	if (($user_ui_iconset) && ($img)) {
+		$icon = false;
+		if ((preg_match('/^images\/menu\/(.+)$/',$img,$m)) || 
+			(preg_match('/^index\.php\?pf=(.+)$/',$img,$m))) {
+			if ($m[1]) {
+				$icon = path::real(dirname(__FILE__).'/../../admin/images/iconset/'.$user_ui_iconset.'/'.$m[1],false);
+				if ($icon !== false) {
+					$allow_types = array('png','jpg','jpeg','gif');
+					if (is_file($icon) && is_readable($icon) && in_array(files::getExtension($icon),$allow_types)) {
+						return DC_ADMIN_URL.'images/iconset/'.$user_ui_iconset.'/'.$m[1];
+					}
+				}
+			}
+		}
+	}
+	return $img;
 }
 
Index: locales/fr/main.po
===================================================================
--- locales/fr/main.po	(revision 561)
+++ locales/fr/main.po	(revision 693)
@@ -1798,4 +1798,7 @@
 msgstr "Activer l'interface avancée du gestionnaire de médias"
 
+msgid "Iconset:"
+msgstr "Jeu d'icônes :"
+
 msgid "Do not use standard favicon"
 msgstr "Ne pas utiliser le favicon standard"
