X-Git-Url: http://git.code-monkey.de/?p=redact.git;a=blobdiff_plain;f=lib%2Fredact%2Fpart.rb;h=313a29578feba103c968124d827db0d3238ec7e8;hp=b282d04b04faf315109bf1809d8576007664547c;hb=c82d76f2ace4c0781782290c6778750c40b8c8f5;hpb=18c7ac35df71363a579ac51d0d075a7161b22093 diff --git a/lib/redact/part.rb b/lib/redact/part.rb index b282d04..313a295 100644 --- a/lib/redact/part.rb +++ b/lib/redact/part.rb @@ -1,5 +1,5 @@ #-- -# $Id: part.rb 46 2005-06-08 18:03:34Z tilman $ +# $Id: part.rb 47 2005-06-08 20:05:19Z tilman $ # # Copyright (c) 2005 Tilman Sauerbeck (tilman at code-monkey de) # @@ -400,14 +400,28 @@ module Redact class Tweens < Array def <<(im) - image = EDJE.image_dir.find { |e| e.filename == im } + im2 = find_image(im.to_str.strip) + raise(RedactError, "cannot find image - #{im}") if im2.nil? + + image = EDJE.image_dir.find { |e| e.filename == im2 } if image.nil? - image = ImageDirectoryEntry.new(im) + image = ImageDirectoryEntry.new(im2) EDJE.image_dir << image end super(Tween.new(image)) end + + private + def find_image(file) + [".", OPTIONS.image_dir].each do |d| + f2 = File.join(d, file) + return Pathname.new(f2).cleanpath.to_s if File.file?(f2) + end + + nil + end + end class ImageDescription < Description @@ -429,11 +443,14 @@ module Redact end def image=(im) - return if !@image.nil? && im == @image.filename + im2 = find_image(im.to_str.strip) + raise(RedactError, "cannot find image - #{im}") if im2.nil? - @image = EDJE.image_dir.find { |e| e.filename == im } + return if !@image.nil? && im2 == @image.filename + + @image = EDJE.image_dir.find { |e| e.filename == im2 } if @image.nil? - @image = ImageDirectoryEntry.new(im) + @image = ImageDirectoryEntry.new(im2) EDJE.image_dir << @image end @@ -476,6 +493,16 @@ module Redact "fill.rel_y" => [1.0, :double], "fill.abs_y" => [0]}) end + + private + def find_image(file) + [".", OPTIONS.image_dir].each do |d| + f2 = File.join(d, file) + return Pathname.new(f2).cleanpath.to_s if File.file?(f2) + end + + nil + end end class TextDescription < Description