From 669e52a2eebadb66bf1d3838ec0a5a9de295565f Mon Sep 17 00:00:00 2001 From: Joscha Date: Mon, 22 Aug 2022 21:15:04 +0200 Subject: [PATCH] Add key binding to download more logs --- CHANGELOG.md | 1 + src/euph/room.rs | 6 ++++++ src/ui/euph/room.rs | 7 +++++++ 3 files changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 645fc5e..dbc9d13 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ Procedure when bumping the version number: - Authentication dialog for password-protected rooms - Error popups in rooms when something goes wrong - `--ephemeral` flag that prevents cove from storing data permanently +- Key binding to download more logs ### Changed - Reduced amount of unnecessary redraws diff --git a/src/euph/room.rs b/src/euph/room.rs index afdd2a4..324196f 100644 --- a/src/euph/room.rs +++ b/src/euph/room.rs @@ -458,6 +458,12 @@ impl Room { .map_err(|_| Error::Stopped) } + pub fn log(&self) -> Result<(), Error> { + self.event_tx + .send(Event::RequestLogs) + .map_err(|_| Error::Stopped) + } + pub fn nick(&self, name: String) -> Result<(), Error> { self.event_tx .send(Event::Nick(name)) diff --git a/src/ui/euph/room.rs b/src/ui/euph/room.rs index d753595..78baa80 100644 --- a/src/ui/euph/room.rs +++ b/src/ui/euph/room.rs @@ -284,6 +284,7 @@ impl EuphRoom { } Some(Status::Joined(_)) => { bindings.binding("n", "change nick"); + bindings.binding("m", "download more messages"); bindings.binding("A", "show account ui"); true } @@ -337,6 +338,12 @@ impl EuphRoom { self.state = State::Nick(nick::new(joined)); true } + key!('m') => { + if let Some(room) = &self.room { + let _ = room.log(); + } + true + } key!('A') => { self.state = State::Account(AccountUiState::new()); true