Add 'r' keybinding to refresh mail message list

This commit is contained in:
Bendt
2025-12-19 16:16:12 -05:00
parent b903832d17
commit 39a5efbb81
2 changed files with 8 additions and 2 deletions

View File

@@ -451,7 +451,7 @@ Implement `/` keybinding for search across all apps with similar UX:
3. Calendar: Responsive detail panel 3. Calendar: Responsive detail panel
4. Calendar: Sidebar mini-calendar 4. Calendar: Sidebar mini-calendar
5. Calendar: Calendar invites sidebar 5. Calendar: Calendar invites sidebar
6. Mail: Add refresh keybinding 6. ~~Mail: Add refresh keybinding~~ (DONE - `r` key)
7. Mail: Add mark read/unread action 7. Mail: Add mark read/unread action
8. Mail: Folder message counts 8. Mail: Folder message counts
9. ~~Mail: URL compression in markdown view~~ (DONE) 9. ~~Mail: URL compression in markdown view~~ (DONE)

View File

@@ -115,7 +115,8 @@ class EmailViewerApp(App):
Binding("h", "toggle_header", "Toggle Envelope Header"), Binding("h", "toggle_header", "Toggle Envelope Header"),
Binding("t", "create_task", "Create Task"), Binding("t", "create_task", "Create Task"),
Binding("l", "open_links", "Show Links"), Binding("l", "open_links", "Show Links"),
Binding("%", "reload", "Reload message list"), Binding("r", "reload", "Reload message list"),
Binding("%", "reload", "Reload message list", show=False),
Binding("1", "focus_1", "Focus Accounts Panel"), Binding("1", "focus_1", "Focus Accounts Panel"),
Binding("2", "focus_2", "Focus Folders Panel"), Binding("2", "focus_2", "Focus Folders Panel"),
Binding("3", "focus_3", "Focus Envelopes Panel"), Binding("3", "focus_3", "Focus Envelopes Panel"),
@@ -912,6 +913,11 @@ class EmailViewerApp(App):
self.fetch_envelopes() if self.reload_needed else None self.fetch_envelopes() if self.reload_needed else None
self.show_message(self.message_store.get_newest_id()) self.show_message(self.message_store.get_newest_id())
def action_reload(self) -> None:
"""Reload the message list."""
self.fetch_envelopes()
self.show_status("Reloading messages...")
def action_search(self) -> None: def action_search(self) -> None:
"""Open the search panel.""" """Open the search panel."""
search_panel = self.query_one("#search_panel", SearchPanel) search_panel = self.query_one("#search_panel", SearchPanel)