as suggested by benny, we can choose the size automatically with the browser window...
authorgc <gc>
Sat, 4 Feb 2006 18:04:58 +0000 (18:04 +0000)
committergc <gc>
Sat, 4 Feb 2006 18:04:58 +0000 (18:04 +0000)
bin/booh-backend
data/booh/themes/dark/metadata/parameters.rb
data/booh/themes/sbs/metadata/parameters.rb
data/booh/themes/simple/metadata/parameters.rb
lib/booh/html-merges.rb

index a61a97f..f4a2b52 100755 (executable)
@@ -406,6 +406,10 @@ def html_reload_to_thumbnails
     html_reload_to_thumbnails.gsub!(/~~theme~~/, $theme)
     html_reload_to_thumbnails.gsub!(/~~default_size~~/, $default_size['name'])
     html_reload_to_thumbnails.gsub!(/~~all_sizes~~/, all_images_sizes.collect { |s| "\"#{size2js(s['name'])}\"" }.join(', '))
+    size_auto_chooser = '';
+    all_images_sizes.sort { |a,b| b['optimizedforwidth'].to_i <=> a['optimizedforwidth'].to_i }.
+                     each { |s| size_auto_chooser += "if (w + 50 - #{s['optimizedforwidth']} > 0) { return 'thumbnails-#{size2js(s['name'])}.html'; }\n" }
+    html_reload_to_thumbnails.gsub!(/~~size_auto_chooser~~/, size_auto_chooser)
     return html_reload_to_thumbnails
 end
 
index 80bde98..06b7f61 100644 (file)
@@ -32,6 +32,7 @@ $images_size = [
         'description' => _("Sizes that should fit browsers in fullscreen for 800x600 screens"),
         'fullscreen' => '750x414',
         'thumbnails' => '192x144',
+        'optimizedforwidth' => '800',
         'optional' => true,
     },
     {
@@ -39,6 +40,7 @@ $images_size = [
         'description' => _("Sizes that should fit browsers in fullscreen for 1024x768 screens"),
         'fullscreen' => '960x528',
         'thumbnails' => '240x180',
+        'optimizedforwidth' => '1024',
         'default' => true,
     },
     {
@@ -46,12 +48,14 @@ $images_size = [
         'description' => _("Sizes that should fit browsers in fullscreen for 1280x1024 screens"),
         'fullscreen' => '1200x660',
         'thumbnails' => '300x225',
+        'optimizedforwidth' => '1280',
     },
     {
         'name' => 'x-large',
         'description' => _("Sizes that should fit browsers in fullscreen for 1400x1050 screens"),
         'fullscreen' => '1312x721',
         'thumbnails' => '328x245',
+        'optimizedforwidth' => '1400',
         'optional' => true,
     },
     {
@@ -59,6 +63,7 @@ $images_size = [
         'description' => _("Sizes that should fit browsers in fullscreen for 1600x1200 screens"),
         'fullscreen' => '1500x825',
         'thumbnails' => '375x281',
+        'optimizedforwidth' => '1600',
         'optional' => true,
     }
 ]
index 742bb74..f36c4d5 100644 (file)
@@ -32,6 +32,7 @@ $images_size = [
         'description' => _("Sizes that should fit browsers in fullscreen for 800x600 screens"),
         'fullscreen' => '552x414',
         'thumbnails' => '184x138',
+        'optimizedforwidth' => '800',
         'optional' => true,
     },
     {
@@ -39,6 +40,7 @@ $images_size = [
         'description' => _("Sizes that should fit browsers in fullscreen for 1024x768 screens"),
         'fullscreen' => '704x528',
         'thumbnails' => '232x174',
+        'optimizedforwidth' => '1024',
         'default' => true,
     },
     {
@@ -46,12 +48,14 @@ $images_size = [
         'description' => _("Sizes that should fit browsers in fullscreen for 1280x1024 screens"),
         'fullscreen' => '880x660',
         'thumbnails' => '292x219',
+        'optimizedforwidth' => '1280',
     },
     {
         'name' => 'x-large',
         'description' => _("Sizes that should fit browsers in fullscreen for 1400x1050 screens"),
         'fullscreen' => '962x721',
         'thumbnails' => '320x240',
+        'optimizedforwidth' => '1400',
         'optional' => true,
     },
     {
@@ -59,6 +63,7 @@ $images_size = [
         'description' => _("Sizes that should fit browsers in fullscreen for 1600x1200 screens"),
         'fullscreen' => '1100x825',
         'thumbnails' => '368x276',
+        'optimizedforwidth' => '1600',
         'optional' => true,
     }
 ]
index 80bde98..06b7f61 100644 (file)
@@ -32,6 +32,7 @@ $images_size = [
         'description' => _("Sizes that should fit browsers in fullscreen for 800x600 screens"),
         'fullscreen' => '750x414',
         'thumbnails' => '192x144',
+        'optimizedforwidth' => '800',
         'optional' => true,
     },
     {
@@ -39,6 +40,7 @@ $images_size = [
         'description' => _("Sizes that should fit browsers in fullscreen for 1024x768 screens"),
         'fullscreen' => '960x528',
         'thumbnails' => '240x180',
+        'optimizedforwidth' => '1024',
         'default' => true,
     },
     {
@@ -46,12 +48,14 @@ $images_size = [
         'description' => _("Sizes that should fit browsers in fullscreen for 1280x1024 screens"),
         'fullscreen' => '1200x660',
         'thumbnails' => '300x225',
+        'optimizedforwidth' => '1280',
     },
     {
         'name' => 'x-large',
         'description' => _("Sizes that should fit browsers in fullscreen for 1400x1050 screens"),
         'fullscreen' => '1312x721',
         'thumbnails' => '328x245',
+        'optimizedforwidth' => '1400',
         'optional' => true,
     },
     {
@@ -59,6 +63,7 @@ $images_size = [
         'description' => _("Sizes that should fit browsers in fullscreen for 1600x1200 screens"),
         'fullscreen' => '1500x825',
         'thumbnails' => '375x281',
+        'optimizedforwidth' => '1600',
         'optional' => true,
     }
 ]
index f99c362..b4795ef 100644 (file)
@@ -491,7 +491,8 @@ EOF
 
 $preferred_size_reloader = <<'EOF'
 <html>
-    <head>
+    <body>
+    </body>
         <script language="JavaScript1.1" type="text/JavaScript">
 
 var sizes = new Array(~~all_sizes~~);
@@ -512,6 +513,9 @@ function getPreferredSize() {
                 }
             }
         }
+    } else {
+        w = document.body.offsetWidth;
+        ~~size_auto_chooser~~
     }
     return 'thumbnails-~~default_size~~.html';
 }
@@ -519,7 +523,6 @@ function getPreferredSize() {
 window.location.href = getPreferredSize();
 
         </script>
-    </head>
 </html>
 EOF