Changeset 19702 for lang/ruby

Show
Ignore:
Timestamp:
09/22/08 03:32:35 (2 months ago)
Author:
hogelog
Message:

ディレクトリ選択時、最後に開いてたディレクトリを選択済みに

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/ruby/misc/fitview.rb

    r19701 r19702  
    169169end 
    170170 
    171 def dirselect 
     171def dirselect(prev_select) 
    172172    dirs = Dir.entries('.').reject{|file| !File.directory?(file)} 
    173     select = 0 
     173    select = dirs.index(prev_select) || 0 
    174174    loop do 
    175175        SCREEN.fill(0) 
     
    222222 
    223223    image_path = ARGV[0] 
     224 
     225    prev_select = File.expand_path(image_path) 
     226    if File.directory?(prev_select) 
     227        prev_select = File.basename(prev_select) 
     228    else 
     229        prev_select = File.basename(File.dirname(prev_select)) 
     230    end 
     231 
    224232    loop do 
    225233        begin 
    226234            fitview(image_path) 
    227235        rescue SelectDirectoryEvent 
    228             while dir = dirselect 
     236            while dir = dirselect(prev_select) 
    229237                if dir == '.' 
    230238                    image_path = '.' 
    231239                    break 
    232240                else 
     241                    if dir!='..' 
     242                        prev_select = dir 
     243                    end 
    233244                    Dir.chdir(dir) 
    234245                end