Commit e4bd1417a0e6d5eff7ec04435f78b14bce6575f7
- Diff rendering mode:
- inline
- side by side
bin/sup
(1 / 11)
|   | |||
| 245 | 245 | when :search_unread | |
| 246 | 246 | SearchResultsMode.spawn_from_query "is:unread" | |
| 247 | 247 | when :list_labels | |
| 248 | labels = LabelManager.listable_labels.map { |l| LabelManager.string_for l } | ||
| 249 | user_label = bm.ask_with_completions :label, "Show threads with label (enter for listing): ", labels | ||
| 250 | unless user_label.nil? | ||
| 251 | if user_label.empty? | ||
| 252 | bm.spawn_unless_exists("Label list") do | ||
| 253 | LabelListMode.new { |l| LabelSearchResultsMode.spawn_nicely l } | ||
| 254 | end | ||
| 255 | else | ||
| 256 | LabelSearchResultsMode.spawn_nicely user_label | ||
| 257 | end | ||
| 258 | end | ||
| 248 | LabelListMode.ask_for_label("Show threads with label (enter for listing): ", "Label list") { |l| LabelSearchResultsMode.spawn_nicely l } | ||
| 259 | 249 | when :compose | |
| 260 | 250 | ComposeMode.spawn_nicely | |
| 261 | 251 | when :poll |
lib/sup/modes/label-list-mode.rb
(14 / 0)
|   | |||
| 35 | 35 | reload # make sure unread message counts are up-to-date | |
| 36 | 36 | end | |
| 37 | 37 | ||
| 38 | def self.ask_for_label prompt, list_title | ||
| 39 | labels = LabelManager.listable_labels.map { |l| LabelManager.string_for l } | ||
| 40 | user_label = BufferManager.ask_with_completions :label, prompt, labels | ||
| 41 | unless user_label.nil? | ||
| 42 | if user_label.empty? | ||
| 43 | BufferManager.spawn_unless_exists(list_title) do | ||
| 44 | LabelListMode.new { |l| yield l } | ||
| 45 | end | ||
| 46 | else | ||
| 47 | yield user_label | ||
| 48 | end | ||
| 49 | end | ||
| 50 | end | ||
| 51 | |||
| 38 | 52 | protected | |
| 39 | 53 | ||
| 40 | 54 | def toggle_show_unread_only |

