diff options
author | rabite <rabite@posteo.de> | 2019-03-20 14:55:17 +0100 |
---|---|---|
committer | rabite <rabite@posteo.de> | 2019-03-20 14:55:17 +0100 |
commit | d65ee9253d81d9d497a6d7f35566f3bcb7e0fcea (patch) | |
tree | 625ac24c92d806784d0df265c40cef755b2e7971 /src/listview.rs | |
parent | 9a711bbe96d753d0dbf70007adc0ff89823aa9ad (diff) |
only rerender changed line
Diffstat (limited to 'src/listview.rs')
-rw-r--r-- | src/listview.rs | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/listview.rs b/src/listview.rs index d655050..5a42308 100644 --- a/src/listview.rs +++ b/src/listview.rs @@ -297,17 +297,23 @@ impl ListView<Files> } fn multi_select_file(&mut self) { - let file = self.selected_file_mut(); - file.toggle_selection(); + self.selected_file_mut().toggle_selection(); + + let selection = self.get_selection(); + let line = self.render_line(self.selected_file()); + self.buffer[selection] = line; + self.move_down(); - self.core.set_dirty(); - self.refresh().log(); } fn toggle_tag(&mut self) -> HResult<()> { self.selected_file_mut().toggle_tag()?; + + let selection = self.get_selection(); + let line = self.render_line(self.selected_file()); + self.buffer[selection] = line; + self.move_down(); - self.core.set_dirty(); Ok(()) } |