Excerpts from Philippe LeCavalier's message of Wed Feb 16 13:33:32 +0000 2011: > > Philippe LeCavalier, 2011-02-15 17:37: > > > Hi All. Just wondering if there has ever been any consideration to > > > sorting labels alphabetically. I'm assuming the way sup displays the > > > labels is purely esthetic's? > > > > I assume you are talking about thread index mode. > No. Any mode really. Even in search mode they're random.
No longer! I've published a branch called order_labels that will fix this, both in the various thread index modes, and when editing the labels for a message. Diffs at the end of the email for your viewing pleasure ... I'll merge this into next when I'm a bit more awake - been up a bit long ... Hamish Downer commit 1ae7c0a1e5b20681ea6ecb9a6bf15fffa5f4c0e3 Author: Hamish Downer <dmi...@gmail.com> Date: Sun Feb 20 22:57:47 2011 +0000 Order labels alphabetically in thread index mode diff --git a/lib/sup/modes/thread-index-mode.rb b/lib/sup/modes/thread-index-mode.rb index 11548c7..36d6db3 100644 --- a/lib/sup/modes/thread-index-mode.rb +++ b/lib/sup/modes/thread-index-mode.rb @@ -893,7 +893,7 @@ protected [:to_me_color, t.labels.member?(:attachment) ? "@" : " "], [:to_me_color, dp ? ">" : (p ? '+' : " ")], ] + - (t.labels - @hidden_labels).map { |label| [:label_color, "#{label} "] } + + (t.labels - @hidden_labels).sort_by {|x| x.to_s}.map { |label| [:label_color, "#{label} "] } + [ [subj_color, t.subj + (t.subj.empty? ? "" : " ")], [:snippet_color, t.snippet], commit 490e57254c5ee493e8acf4b8358b54e7eb3ab698 Author: Hamish Downer <dmi...@gmail.com> Date: Sun Feb 20 23:22:05 2011 +0000 When editing labels, they are presented in alphabetical order diff --git a/lib/sup/modes/thread-index-mode.rb b/lib/sup/modes/thread-index-mode.rb index 36d6db3..613aa61 100644 --- a/lib/sup/modes/thread-index-mode.rb +++ b/lib/sup/modes/thread-index-mode.rb @@ -542,7 +542,7 @@ EOS keepl, modifyl = thread.labels.partition { |t| speciall.member? t } - user_labels = BufferManager.ask_for_labels :label, "Labels for thread: ", modifyl, @hidden_labels + user_labels = BufferManager.ask_for_labels :label, "Labels for thread: ", modifyl.sort_by {|x| x.to_s}, @hidden_labels return unless user_labels thread.labels = Set.new(keepl) + user_labels diff --git a/lib/sup/modes/thread-view-mode.rb b/lib/sup/modes/thread-view-mode.rb index 59705bc..e69de57 100644 --- a/lib/sup/modes/thread-view-mode.rb +++ b/lib/sup/modes/thread-view-mode.rb @@ -282,7 +282,7 @@ EOS def edit_labels old_labels = @thread.labels reserved_labels = old_labels.select { |l| LabelManager::RESERVED_LABELS.include? l } - new_labels = BufferManager.ask_for_labels :label, "Labels for thread: ", @thread.labels + new_labels = BufferManager.ask_for_labels :label, "Labels for thread: ", @thread.labels.sort_by {|x| x.to_s} return unless new_labels @thread.labels = Set.new(reserved_labels) + new_labels _______________________________________________ Sup-devel mailing list Sup-devel@rubyforge.org http://rubyforge.org/mailman/listinfo/sup-devel