return '<img src="' + File.basename(fullpath) + '" ' + sizespec + ' border="0"/>'
end
+def size2js(name)
+ return name.gsub(/-/, '')
+end
+
def substitute_html_sizes(html, sizeobj, type)
sizestrings = []
if $images_size.length > 1
if type == 'thumbnails'
sizestrings << '<a href="thumbnails-' + sizeobj2['name'] + '.html">' + sizename(sizeobj2['name']) + '</a>'
else
- sizestrings << '<a id="link' + sizeobj2['name'] + '">' + sizename(sizeobj2['name']) + '</a>'
+ sizestrings << '<a id="link' + size2js(sizeobj2['name']) + '">' + sizename(sizeobj2['name']) + '</a>'
end
else
sizestrings << sizename(sizeobj2['name'])
if type == 'image'
index = images.index(file)
html_thumbnails.gsub!(/~~image_iteration~~/,
- '<a href="image-' + sizeobj['name'] + '.html?current=' + fullscreen_images[sizeobj['name']][index] +
+ '<a href="image-' + size2js(sizeobj['name']) + '.html?current=' + fullscreen_images[sizeobj['name']][index] +
'" name="' + fullscreen_images[sizeobj['name']][index] + '">' +
img_element("#{dest_dir}/#{thumbnail_images[sizeobj['name']][index]}") + '</a>')
html_thumbnails.gsub!(/~~caption_iteration~~/,
othersizes = []
for sizeobj2 in $images_size
if sizeobj != sizeobj2
- otherimages4js += "var images_#{sizeobj2['name']} = new Array(" + fullscreen_images[sizeobj2['name']].collect { |e| "\"#{e}\"" }.join(', ') + ")\n"
- othersizes << "\"#{sizeobj2['name']}\""
+ otherimages4js += "var images_#{size2js(sizeobj2['name'])} = new Array(" + fullscreen_images[sizeobj2['name']].collect { |e| "\"#{e}\"" }.join(', ') + ")\n"
+ othersizes << "\"#{size2js(sizeobj2['name'])}\""
end
end
for i in html
i.gsub!(/~~current_size~~/, sizeobj['name'])
substitute_html_sizes(i, sizeobj, 'image')
end
- ios = File.open("#{dest_dir}/image-#{sizeobj['name']}.html", "w")
+ ios = File.open("#{dest_dir}/image-#{size2js(sizeobj['name'])}.html", "w")
ios.write(html)
ios.close
end
recreate_theme_config = proc {
theme_sizes.each { |e| sizes.remove(e[:widget]) }
theme_sizes = []
- select_theme(theme_button.label, nil)
+ select_theme(theme_button.label, 'all')
$images_size.each { |s|
- sizes.add(cb = Gtk::CheckButton.new(sizename(s['name'])).set_active(true))
+ sizes.add(cb = Gtk::CheckButton.new(sizename(s['name'])))
+ if !s['optional']
+ cb.active = true
+ end
tooltips = Gtk::Tooltips.new
tooltips.set_tip(cb, utf8(s['description']), nil)
theme_sizes << { :widget => cb, :value => s['name'] }
'description' => _("Fullscreen 552x414, thumbnails 192x144, should fit 800x600 screens"),
'fullscreen' => '552x414',
'thumbnails' => '192x144',
+ 'optional' => true,
},
{
'name' => 'medium',
'description' => _("Fullscreen 880x660, thumbnails 300x225, should fit 1280x1024 screens"),
'fullscreen' => '880x660',
'thumbnails' => '300x225',
+ },
+ {
+ 'name' => 'x-large',
+ 'description' => _("Fullscreen 996x747, thumbnails 340x255, should fit 1450x1024 screens"),
+ 'fullscreen' => '996x747',
+ 'thumbnails' => '340x255',
+ 'optional' => true,
+ },
+ {
+ 'name' => 'xx-large',
+ 'description' => _("Fullscreen 1100x825, thumbnails 375x281, should fit 1600x1200 screens"),
+ 'fullscreen' => '1100x825',
+ 'thumbnails' => '375x281',
+ 'optional' => true,
}
]
def sizename(key)
#- fake for gettext to find these; if themes need more sizes, english name for them should be added here
- sizenames = { 'small' => utf8(_("small")), 'medium' => utf8(_("medium")), 'large' => utf8(_("large")) }
+ sizenames = { 'small' => utf8(_("small")), 'medium' => utf8(_("medium")), 'large' => utf8(_("large")),
+ 'x-large' => utf8(_("x-large")), 'xx-large' => utf8(_("xx-large")) }
return sizenames[key] || key
end
eval File.open("#{themedir}/metadata/parameters.rb").readlines.join
if limit_sizes
- sizes = limit_sizes.split(/,/)
- $images_size = $images_size.find_all { |e| sizes.include?(e['name']) }
- if $images_size.length == 0
- die _("Can't carry on, no valid size selected.")
+ if limit_sizes != 'all'
+ sizes = limit_sizes.split(/,/)
+ $images_size = $images_size.find_all { |e| sizes.include?(e['name']) }
+ if $images_size.length == 0
+ die _("Can't carry on, no valid size selected.")
+ end
end
+ else
+ $images_size = $images_size.find_all { |e| !e['optional'] }
end
+
$default_size = $images_size.detect { |sizeobj| sizeobj['default'] }
if $default_size == nil
$default_size = $images_size[0]