]> git.cworth.org Git - sup/commitdiff
add unsaved? attribute to modes
authorWilliam Morgan <wmorgan-sup@masanjin.net>
Thu, 9 Apr 2009 17:10:48 +0000 (13:10 -0400)
committerWilliam Morgan <wmorgan-sup@masanjin.net>
Thu, 9 Apr 2009 17:19:55 +0000 (13:19 -0400)
This will be used for displaying a little '*' in buffer-list-mode.

lib/sup/mode.rb
lib/sup/modes/edit-message-mode.rb
lib/sup/modes/resume-mode.rb
lib/sup/modes/thread-index-mode.rb

index 9900dc303d80395a3026ced166fc82b78a15ce54..bea46d92d425835142f2ae3b94eca035b0a64148 100644 (file)
@@ -24,6 +24,7 @@ class Mode
   end
 
   def killable?; true; end
+  def unsaved?; false end
   def draw; end
   def focus; end
   def blur; end
index cc6e7af4a482d46dfefd74f5034846c81035620d..407b23cb102b4d2dd77845cc77db342f696058e1 100644 (file)
@@ -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
index b1c69fc1dc2f35fe1eea2350b21873e6c08470e9..e527542bd8266a6c0a38666955a2434f98d13516 100644 (file)
@@ -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
 
index 0beebafb3a13aff407eb62b0b5a4f699d7aa2a3e..916edec82eb71761d2261216fc1c61c852bdef69 100644 (file)
@@ -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