fn = @source.fn_for_offset offset
File.open(fn, "w") { |f| yield f }
- @source.each do |offset, labels|
- m = Message.new :source => @source, :source_info => offset, :labels => labels
+ my_message = nil
+ @source.each do |thisoffset, theselabels|
+ m = Message.new :source => @source, :source_info => thisoffset, :labels => theselabels
Index.add_message m
UpdateManager.relay :add, m
+ my_message = m if thisoffset == offset
end
+
+ my_message
end
def discard mid
def uri; DraftManager.source_name; end
def each
- Dir.entries(@dir).select { |x| x =~ /^\d+$/ }.sort_by { |x| x.to_i }.each { |id| yield [id, [:draft]] }
+ ids = Dir.entries(@dir).select { |x| x =~ /^\d+$/ }.map { |x| x.to_i }.sort
+ ids.each do |id|
+ if id > cur_offset
+ self.cur_offset = id
+ yield [id, [:draft]]
+ end
+ end
end
def gen_offset
def regen_text
@awidth, @nwidth = 0, 0
@contacts.each do |p|
- aalias = ContactManager.alias_for_person(p)
+ aalias = ContactManager.alias_for(p)
@awidth = aalias.length if aalias && aalias.length > @awidth
@nwidth = p.name.length if p.name && p.name.length > @nwidth
end