commit 1bc1e724993ab29478abb45e45ee381df547da2b
parent 90d39a30e3a2062450e09b274c0a00a4c6293e87
Author: Rich Lane <rlane@club.cc.cmu.edu>
Date: Sun, 7 Mar 2010 13:18:02 -0800
Merge branch 'publish-hook'
Diffstat:
1 file changed, 18 insertions(+), 0 deletions(-)
diff --git a/lib/sup/modes/thread-view-mode.rb b/lib/sup/modes/thread-view-mode.rb
@@ -35,6 +35,14 @@ Return value:
which will be appended by sup.
EOS
+ HookManager.register "publish", <<EOS
+Executed when a message or a chunk is requested to be published.
+Variables:
+ chunk: Redwood::Message or Redwood::Chunk::* to be published.
+Return value:
+ None.
+EOS
+
register_keymap do |k|
k.add :toggle_detailed_header, "Toggle detailed header", 'h'
k.add :show_header, "Show full message header", 'H'
@@ -59,6 +67,7 @@ EOS
k.add :edit_as_new, "Edit message as new", 'D'
k.add :save_to_disk, "Save message/attachment to disk", 's'
k.add :save_all_to_disk, "Save all attachments to disk", 'A'
+ k.add :publish, "Publish message/attachment using publish-hook", 'P'
k.add :search, "Search for messages from particular people", 'S'
k.add :compose, "Compose message to person", 'm'
k.add :subscribe_to_list, "Subscribe to/unsubscribe from mailing list", "("
@@ -389,6 +398,15 @@ EOS
end
end
+ def publish
+ chunk = @chunk_lines[curpos] or return
+ if HookManager.enabled? "publish"
+ HookManager.run "publish", :chunk => chunk
+ else
+ BufferManager.flash "Publishing hook not defined."
+ end
+ end
+
def edit_draft
m = @message_lines[curpos] or return
if m.is_draft?