]> git.cworth.org Git - sup/blobdiff - lib/sup/modes/inbox-mode.rb
Allow thread index view to sort oldest first
[sup] / lib / sup / modes / inbox-mode.rb
index 51f3a515c63949f31a959e0b0aaa7e70779459d4..f347ffb9cc19f0f1f812f50a2d8ccb263de5f494 100644 (file)
@@ -10,10 +10,19 @@ class InboxMode < ThreadIndexMode
     k.add :refine_search, "Refine search", '|'
   end
 
+  def self.newest_first
+    if !$config[:inbox_newest_first].nil?
+      $config[:inbox_newest_first]
+    else
+      true
+    end
+  end
+
   def initialize
     super [:inbox, :sent, :draft], { :label => :inbox, :skip_killed => true }
     raise "can't have more than one!" if defined? @@instance
     @@instance = self
+    @newest_first = InboxMode.newest_first
   end
 
   def is_relevant? m; (m.labels & [:spam, :deleted, :killed, :inbox]) == Set.new([:inbox]) end
@@ -21,7 +30,7 @@ class InboxMode < ThreadIndexMode
   def refine_search
     text = BufferManager.ask :search, "refine query: ", "label:inbox AND "
     return unless text && text !~ /^\s*$/
-    SearchResultsMode.spawn_from_query text
+    SearchResultsMode.spawn_from_query text, @newest_first
   end
 
   ## label-list-mode wants to be able to raise us if the user selects