when :list_buffers
bm.spawn_unless_exists("Buffer List") { BufferListMode.new }
when :list_contacts
- bm.spawn_unless_exists("Contact List") { ContactListMode.new }
+ b = bm.spawn_unless_exists("Contact List") { ContactListMode.new }
+ b.mode.load_more b.content_height
when :search
text = bm.ask :search, "query: "
next unless text && text !~ /^\s*$/
when 1
m = nil
Index.each_id_by_date(:label => :draft) { |mid, builder| m = builder.call }
- BufferManager.spawn "Edit message", ResumeMode.new(m)
+ r = ResumeMode.new(m)
+ BufferManager.spawn "Edit message", r
+ r.edit
else
b = BufferManager.spawn_unless_exists(:draft) do
mode = LabelSearchResultsMode.new [:draft]
def initialize mode = :regular
@mode = mode
@tags = Tagger.new self
- reload
+ @num = 0
super()
end
def apply_to_tagged; @tags.apply_to_tagged; end
def load; regen_text; end
- def load_more
- @num += LOAD_MORE_CONTACTS_NUM
+ def load_more num=LOAD_MORE_CONTACTS_NUM
+ @num += num
regen_text
- BufferManager.flash "Loaded #{LOAD_MORE_CONTACTS_NUM} more contacts."
+ BufferManager.flash "Added #{num} contacts."
end
def multi_select people
def reload
@tags.drop_all_tags
- @num = LOAD_MORE_CONTACTS_NUM
load
end