]> git.notmuchmail.org Git - sup/commitdiff
bugfixes
authorwmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Wed, 17 Jan 2007 23:09:18 +0000 (23:09 +0000)
committerwmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Wed, 17 Jan 2007 23:09:18 +0000 (23:09 +0000)
git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@259 5c8cc53c-5e98-4d25-b20a-d8db53a31250

lib/sup/draft.rb
lib/sup/modes/contact-list-mode.rb

index 2bed8fa6f536b15ef28c5cf1e72f324bd20e5ef3..a6920fd5ca75d8e9d16162ab6b647ea35afab86b 100644 (file)
@@ -19,11 +19,15 @@ class DraftManager
     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
@@ -51,7 +55,13 @@ class DraftLoader < Source
   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
index dc222073a0efb2c5c3de4ce850e41ca5040bdeab..5dcf5e203012a88cd5cbdb0c3cabfb4d383b0cfe 100644 (file)
@@ -127,7 +127,7 @@ protected
   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