From: Christian Heller Date: Sun, 1 Jun 2025 13:55:19 +0000 (+0200) Subject: Simplify LogBuffer.scroll* API. X-Git-Url: https://plomlompom.com/repos/%7B%7Bdb.prefix%7D%7D/%22https:/validator.w3.org/day?a=commitdiff_plain;h=e65ed22f84cdf70f855c92f21ef3453ef35a6d96;p=ircplom Simplify LogBuffer.scroll* API. --- diff --git a/ircplom.py b/ircplom.py index fc20c1b..f52fbe0 100755 --- a/ircplom.py +++ b/ircplom.py @@ -408,25 +408,17 @@ class LogBuffer: self._upscroll_history += 1 self._upscroll_wrapped += n_wrapped - def _calc_upscroll_history(self) -> None: + def scroll(self, up=True) -> None: + 'Scrolls view down by half of display size.' + self._upscroll_wrapped = ( + min(len(self._wrapped[self._display_size.y:]) - 2, + self._upscroll_wrapped + self._y_pgscroll) + if up else max(0, self._upscroll_wrapped - self._y_pgscroll)) self._upscroll_history = 0 if self._upscroll_wrapped: idx_lowest = self._wrapped[-(self._upscroll_wrapped + 1)][0] self._upscroll_history = len(self._history) - (idx_lowest + 1) - def scroll_up(self) -> None: - 'Scrolls view up by half of display size.' - self._upscroll_wrapped = min( - len(self._wrapped[self._display_size.y:]) - 2, - self._upscroll_wrapped + self._y_pgscroll) - self._calc_upscroll_history() - - def scroll_down(self) -> None: - 'Scrolls view down by half of display size.' - self._upscroll_wrapped = max(0, - self._upscroll_wrapped - self._y_pgscroll) - self._calc_upscroll_history() - @property def wrapped(self) -> list[str]: 'Returns display_size/scroll-appropriately wrapped selection of lines.' @@ -523,11 +515,11 @@ class TuiLoop(Loop): self._draw_prompt() def _cmd__scroll_up(self) -> None: - self._log.scroll_up() + self._log.scroll() self._draw_log() def _cmd__scroll_down(self) -> None: - self._log.scroll_down() + self._log.scroll(up=False) self._draw_log() def _cmd__disconnect(self, quit_msg: str = 'ircplom says bye') -> None: