Index: /trunk/admin/configuration.php
===================================================================
--- /trunk/admin/configuration.php	(revision 14227)
+++ /trunk/admin/configuration.php	(revision 14228)
@@ -249,4 +249,10 @@
   load_conf_from_db();
 }
+elseif (isset($_POST['restore_settings']))
+{
+  ImageStdParams::set_and_save( ImageStdParams::get_default_sizes() );
+  pwg_query('DELETE FROM '.CONFIG_TABLE.' WHERE param = \'disabled_derivatives\'');
+  clear_derivative_cache();
+}
 
 //----------------------------------------------------- template initialization
Index: /trunk/admin/themes/default/template/configuration.tpl
===================================================================
--- /trunk/admin/themes/default/template/configuration.tpl	(revision 14227)
+++ /trunk/admin/themes/default/template/configuration.tpl	(revision 14228)
@@ -31,7 +31,5 @@
 {/literal}{/footer_script}
 
-<div class="titrePage">
-  <h2>{'Piwigo configuration'|@translate} {$TABSHEET_TITLE}</h2>
-</div>
+<h2>{'Piwigo configuration'|@translate} {$TABSHEET_TITLE}</h2>
 
 {if !isset($default)}
@@ -315,4 +313,5 @@
     jQuery(".sizeDetails").show();
     jQuery(this).css("visibility", "hidden");
+		return false;
   });
 
@@ -320,6 +319,5 @@
 {/literal}{/footer_script}
 
-{html_head}{literal}
-<style type="text/css">
+{html_style}{literal}
 input[type="text"].dError {border-color:#ff7070; background-color:#FFe5e5;}
 .dErrorDesc {background-color:red; color:white; padding:0 5px;border-radius:10px; font-weight:bold;cursor:help;}
@@ -331,6 +329,5 @@
 .sizeDetails {display:none;margin-left:10px;}
 .sizeEditOpen {margin-left:10px;}
-</style>
-{/literal}{/html_head}
+{/literal}{/html_style}
 
 <fieldset id="sizesConf">
@@ -644,7 +641,10 @@
 
 {if !isset($default)}
-  <p class="formButtons">
-    <input class="submit" type="submit" name="submit" value="{'Save Settings'|@translate}">
-  </p>
+	<p class="formButtons">
+		<input type="submit" name="submit" value="{'Save Settings'|@translate}">
+{if isset($sizes)}
+		<input type="submit" name="restore_settings" value="{'Restore'|@translate}" onclick="return confirm('{'Are you sure?'|@translate|@escape:javascript}');">
+{/if}
+	</p>
 </form>
 {/if}
Index: /trunk/include/derivative_std_params.inc.php
===================================================================
--- /trunk/include/derivative_std_params.inc.php	(revision 14227)
+++ /trunk/include/derivative_std_params.inc.php	(revision 14228)
@@ -113,5 +113,6 @@
     else
     {
-      self::make_default();
+      self::$watermark = new WatermarkParams();
+      self::$type_map = self::get_default_sizes();
     }
     self::build_maps();
@@ -142,16 +143,22 @@
   }
 
-  private static function make_default()
-  {
-    self::$watermark = new WatermarkParams();
-    self::$type_map[IMG_SQUARE] = new DerivativeParams( SizingParams::square(120,120) );
-    self::$type_map[IMG_THUMB] = new DerivativeParams( SizingParams::classic(144,144) );
-    self::$type_map[IMG_XXSMALL] = new DerivativeParams( SizingParams::classic(240,240) );
-    self::$type_map[IMG_XSMALL] = new DerivativeParams( SizingParams::classic(432,324) );
-    self::$type_map[IMG_SMALL] = new DerivativeParams( SizingParams::classic(576,432) );
-    self::$type_map[IMG_MEDIUM] = new DerivativeParams( SizingParams::classic(792,594) );
-    self::$type_map[IMG_LARGE] = new DerivativeParams( SizingParams::classic(1008,756) );
-    self::$type_map[IMG_XLARGE] = new DerivativeParams( SizingParams::classic(1224,918) );
-    self::$type_map[IMG_XXLARGE] = new DerivativeParams( SizingParams::classic(1656,1242) );
+  static function get_default_sizes()
+  {
+    $arr = array(
+      IMG_SQUARE => new DerivativeParams( SizingParams::square(120,120) ),
+      IMG_THUMB => new DerivativeParams( SizingParams::classic(144,144) ),
+      IMG_XXSMALL => new DerivativeParams( SizingParams::classic(240,240) ),
+      IMG_XSMALL => new DerivativeParams( SizingParams::classic(432,324) ),
+      IMG_SMALL => new DerivativeParams( SizingParams::classic(576,432) ),
+      IMG_MEDIUM => new DerivativeParams( SizingParams::classic(792,594) ),
+      IMG_LARGE => new DerivativeParams( SizingParams::classic(1008,756) ),
+      IMG_XLARGE => new DerivativeParams( SizingParams::classic(1224,918) ),
+      IMG_XXLARGE => new DerivativeParams( SizingParams::classic(1656,1242) ),
+    );
+    foreach($arr as $params)
+    {
+      $params->last_mod_time = time();
+    }
+    return $arr;
   }
 
