From: wmorgan Date: Sun, 31 Dec 2006 02:35:28 +0000 (+0000) Subject: hit 'R' to quicky recover drafts X-Git-Url: https://git.notmuchmail.org/git?a=commitdiff_plain;h=6e686ccaef53f0cebf37d4aab84a61f1e88dfbf0;p=sup hit 'R' to quicky recover drafts git-svn-id: svn://rubyforge.org/var/svn/sup/trunk@130 5c8cc53c-5e98-4d25-b20a-d8db53a31250 --- diff --git a/bin/sup b/bin/sup index c4e59b6..5348437 100644 --- 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 index c335758..245560c 100644 --- 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 index 60f4f23..485c4d8 100644 --- 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