commit 6e686ccaef53f0cebf37d4aab84a61f1e88dfbf0
parent e1d6cdf9d6b8c010b3d1cdbdb8131cf93d65f831
Author: wmorgan <wmorgan@5c8cc53c-5e98-4d25-b20a-d8db53a31250>
Date: Sun, 31 Dec 2006 02:35:28 +0000
hit 'R' to quicky recover drafts
git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@130 5c8cc53c-5e98-4d25-b20a-d8db53a31250
Diffstat:
3 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/bin/sup b/bin/sup
@@ -34,6 +34,7 @@ global_keymap = Keymap.new do |k|
k.add :list_labels, "List labels", 'L'
k.add :poll, "Poll for new messages", 'P'
k.add :compose, "Compose new message", 'm'
+ k.add :recall_draft, "Edit most recent draft message", 'R'
end
def start_cursing
@@ -170,6 +171,20 @@ begin
when :poll
bm.raise_to_front PollManager.buffer
reporting_thread { PollManager.poll }
+ when :recall_draft
+ case Index.num_results_for :label => :draft
+ when 0
+ bm.flash "No draft messages."
+ when 1
+ m = nil
+ Index.each_id_by_date(:label => :draft) { |mid, builder| m = builder.call }
+ BufferManager.spawn "Edit message", ResumeMode.new(m)
+ else
+ b = BufferManager.spawn_unless_exists(:draft) do
+ mode = LabelSearchResultsMode.new [:draft]
+ end
+ b.mode.load_more_threads b.content_height
+ end
when :nothing
when :redraw
bm.completely_redraw_screen
diff --git a/lib/sup/modes/inbox-mode.rb b/lib/sup/modes/inbox-mode.rb
@@ -7,7 +7,7 @@ class InboxMode < ThreadIndexMode
## overwrite toggle_archived with archive
k.add :archive, "Archive thread (remove from inbox)", 'a'
k.add :load_more_threads, "Load #{LOAD_MORE_THREAD_NUM} more threads", 'M'
- k.add :reload, "Discard threads and reload", 'R'
+ k.add :reload, "Discard threads and reload", 'D'
end
def initialize
diff --git a/lib/sup/modes/label-list-mode.rb b/lib/sup/modes/label-list-mode.rb
@@ -3,7 +3,7 @@ module Redwood
class LabelListMode < LineCursorMode
register_keymap do |k|
k.add :view_results, "View messages with the selected label", :enter
- k.add :reload, "Reload", "R"
+ k.add :reload, "Discard results and reload", 'D'
end
def initialize