(&self)
| 2729 | } |
| 2730 | |
| 2731 | pub fn log_autoscroll_offset(&self) -> usize { |
| 2732 | const BOTTOM_PAD: usize = 3; |
| 2733 | let filtered_len = self.filtered_log_lines().len(); |
| 2734 | let vh = self.log_viewport_height; |
| 2735 | if vh == 0 || filtered_len == 0 { |
| 2736 | return 0; |
| 2737 | } |
| 2738 | let usable = vh.saturating_sub(BOTTOM_PAD); |
| 2739 | filtered_len.saturating_sub(usable) |
| 2740 | } |
| 2741 | |
| 2742 | /// Cancel any running log stream task. |
| 2743 | pub fn cancel_log_stream(&mut self) { |
no test coverage detected