auto-jump to last page when new pages are added
This commit is contained in:
parent
8ee5bc4979
commit
9e467d01c4
@ -436,6 +436,7 @@ class ChaosTUI(App):
|
|||||||
app_ambience_player = None
|
app_ambience_player = None
|
||||||
self._book_page = 0
|
self._book_page = 0
|
||||||
self._book_pages = []
|
self._book_pages = []
|
||||||
|
self._prev_page_count = 0
|
||||||
|
|
||||||
def compose(self):
|
def compose(self):
|
||||||
yield Static(f"⚔ The Chaos ╎ {TODAY}", id="banner")
|
yield Static(f"⚔ The Chaos ╎ {TODAY}", id="banner")
|
||||||
@ -465,7 +466,6 @@ class ChaosTUI(App):
|
|||||||
def on_mount(self):
|
def on_mount(self):
|
||||||
ensure_log()
|
ensure_log()
|
||||||
self._reload_book()
|
self._reload_book()
|
||||||
self._book_page = len(self._book_pages) - 1
|
|
||||||
self._render_book_page()
|
self._render_book_page()
|
||||||
self.set_interval(REFRESH_SECS, self._check_ambience)
|
self.set_interval(REFRESH_SECS, self._check_ambience)
|
||||||
self.set_interval(REFRESH_SECS, self._reload_book)
|
self.set_interval(REFRESH_SECS, self._reload_book)
|
||||||
@ -476,6 +476,9 @@ class ChaosTUI(App):
|
|||||||
|
|
||||||
def _reload_book(self):
|
def _reload_book(self):
|
||||||
self._book_pages = load_book_pages()
|
self._book_pages = load_book_pages()
|
||||||
|
if len(self._book_pages) > self._prev_page_count:
|
||||||
|
self._book_page = len(self._book_pages) - 1
|
||||||
|
self._prev_page_count = len(self._book_pages)
|
||||||
self._book_page = max(0, min(self._book_page, len(self._book_pages) - 1))
|
self._book_page = max(0, min(self._book_page, len(self._book_pages) - 1))
|
||||||
self._render_book_page()
|
self._render_book_page()
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user