commit 8869d7f45399511379de84fedecbf4ed2104295f
parent f68139cdaae8c3790e63a2828d5cf25f79f2ad84
Author: William Morgan <wmorgan-sup@masanjin.net>
Date: Thu, 9 Apr 2009 13:10:48 -0400
add unsaved? attribute to modes
This will be used for displaying a little '*' in buffer-list-mode.
Diffstat:
4 files changed, 6 insertions(+), 1 deletion(-)
diff --git 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
@@ -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
@@ -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
@@ -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