sup

A curses threads-with-tags style email client

sup.git

git clone https://supmua.dev/git/sup/
commit e8a8134b67c4b7f2c9acfa9c900fa513b3cbebd0
parent 3d74657cc18577fdd3fa90dbee74e69918c46c12
Author: wmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Date:   Sun,  4 Feb 2007 23:23:39 +0000

fixed drafts not loading problem

git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@300 5c8cc53c-5e98-4d25-b20a-d8db53a31250

Diffstat:
M lib/sup/draft.rb | 2 +-
M lib/sup/modes/thread-index-mode.rb | 6 +++++-
M lib/sup/update.rb | 1 -
3 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/lib/sup/draft.rb b/lib/sup/draft.rb
@@ -59,7 +59,7 @@ class DraftLoader < Source
     ids.each do |id|
       if id > cur_offset
         self.cur_offset = id
-        yield [id, [:draft]]
+        yield [id, [:draft, :inbox]]
       end
     end
   end
diff --git a/lib/sup/modes/thread-index-mode.rb b/lib/sup/modes/thread-index-mode.rb
@@ -57,7 +57,8 @@ class ThreadIndexMode < LineCursorMode
   def select t=nil
     t ||= @threads[curpos]
 
-    t = t.clone # XXXX highly experimental
+    t = t.clone # required so that messages added later on don't completely
+                # screw everything up
 
     ## TODO: don't regen text completely
     Redwood::reporting_thread do
@@ -81,11 +82,13 @@ class ThreadIndexMode < LineCursorMode
   def handle_starred_update m
     return unless(t = @ts.thread_for m)
     update_text_for_line @lines[t]
+    BufferManager.draw_screen
   end
 
   def handle_read_update m
     return unless(t = @ts.thread_for m)
     update_text_for_line @lines[t]
+    BufferManager.draw_screen
   end
 
   ## overwrite me!
@@ -103,6 +106,7 @@ class ThreadIndexMode < LineCursorMode
     if @ts.contains_id? mid
       @ts.remove mid
       update
+      BufferManager.draw_screen
     end
   end
 
diff --git a/lib/sup/update.rb b/lib/sup/update.rb
@@ -14,7 +14,6 @@ class UpdateManager
   def relay type, *args
     meth = "handle_#{type}_update".intern
     @targets.keys.each { |o| o.send meth, *args if o.respond_to? meth }
-    BufferManager.draw_screen ## TODO: think about this
   end
 end