From: William Morgan Date: Thu, 9 Apr 2009 17:10:48 +0000 (-0400) Subject: add unsaved? attribute to modes X-Git-Url: https://git.cworth.org/git?a=commitdiff_plain;h=8869d7f45399511379de84fedecbf4ed2104295f;p=sup add unsaved? attribute to modes This will be used for displaying a little '*' in buffer-list-mode. --- diff --git a/lib/sup/mode.rb b/lib/sup/mode.rb index 9900dc3..bea46d9 100644 --- a/lib/sup/mode.rb +++ b/lib/sup/mode.rb @@ -24,6 +24,7 @@ class Mode end def killable?; true; end + def unsaved?; false end def draw; end def focus; end def blur; end diff --git a/lib/sup/modes/edit-message-mode.rb b/lib/sup/modes/edit-message-mode.rb index cc6e7af..407b23c 100644 --- a/lib/sup/modes/edit-message-mode.rb +++ b/lib/sup/modes/edit-message-mode.rb @@ -145,6 +145,8 @@ EOS !edited? || BufferManager.ask_yes_or_no("Discard message?") end + def unsaved?; edited? end + def attach_file fn = BufferManager.ask_for_filename :attachment, "File name (enter for browser): " return unless fn diff --git a/lib/sup/modes/resume-mode.rb b/lib/sup/modes/resume-mode.rb index b1c69fc..e527542 100644 --- a/lib/sup/modes/resume-mode.rb +++ b/lib/sup/modes/resume-mode.rb @@ -11,6 +11,8 @@ class ResumeMode < EditMessageMode super :header => header, :body => body, :have_signature => true end + def unsaved?; !@safe end + def killable? return true if @safe diff --git a/lib/sup/modes/thread-index-mode.rb b/lib/sup/modes/thread-index-mode.rb index 0beebaf..916edec 100644 --- a/lib/sup/modes/thread-index-mode.rb +++ b/lib/sup/modes/thread-index-mode.rb @@ -77,6 +77,7 @@ EOS end end + def unsaved?; dirty? end def lines; @text.length; end def [] i; @text[i]; end def contains_thread? t; @threads.include?(t) end @@ -732,7 +733,6 @@ protected (t.labels - @hidden_labels).map { |label| [:label_color, "+#{label} "] } + [[:snippet_color, snippet] ] - end def dirty?; @mutex.synchronize { (@hidden_threads.keys + @threads).any? { |t| t.dirty? } } end