sup

A curses threads-with-tags style email client

sup.git

git clone https://supmua.dev/git/sup/
commit 283ea8351cc41d2dcdb742401a68dca75d26d8b6
parent c82f3bf7f7f785986dcd3dc056e73176fcdd4e2d
Author: Damien Leone <damien.leone@fensalir.fr>
Date:   Sat, 19 Feb 2011 18:12:04 +0100

maildir: fix progress computation for updated messages

Diffstat:
M lib/sup/maildir.rb | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/lib/sup/maildir.rb b/lib/sup/maildir.rb
@@ -131,27 +131,27 @@ class Maildir < Source
     added -= add_to_delete
     deleted -= del_to_delete
     debug "#{added.size} added, #{deleted.size} deleted, #{updated.size} updated"
+    total_size = added.size+deleted.size+updated.size
 
     added.each_with_index do |id,i|
       yield :add,
       :info => id,
       :labels => @labels + maildir_labels(id) + [:inbox],
-      :progress => i.to_f/(added.size+deleted.size)
+      :progress => i.to_f/total_size
     end
 
     deleted.each_with_index do |id,i|
       yield :delete,
       :info => id,
-      :progress => (i.to_f+added.size)/(added.size+deleted.size)
+      :progress => (i.to_f+added.size)/total_size
     end
 
-    # TODO: Fix this
-    updated.each do |id|
+    updated.each_with_index do |id,i|
       yield :update,
-         :old_info => id[0],
-         :new_info => id[1],
-         :labels => @labels + maildir_labels(id[1]),
-         :progress => 0.0
+      :old_info => id[0],
+      :new_info => id[1],
+      :labels => @labels + maildir_labels(id[1]),
+      :progress => (i.to_f+added.size+deleted.size)/total_size
     end
     nil
   end