improve library screen
This commit is contained in:
+2
-2
@@ -46,7 +46,7 @@ class LibraryManager:
|
||||
library_path: str,
|
||||
cache_dir: Optional[str] = None,
|
||||
page_size: Tuple[int, int] = (800, 1200),
|
||||
books_per_page: int = 10
|
||||
books_per_page: int = 6
|
||||
):
|
||||
"""
|
||||
Initialize library manager.
|
||||
@@ -55,7 +55,7 @@ class LibraryManager:
|
||||
library_path: Path to directory containing EPUB files
|
||||
cache_dir: Optional cache directory for covers. If None, uses default.
|
||||
page_size: Page size for library view rendering
|
||||
books_per_page: Number of books to display per page (must be even for 2-column layout)
|
||||
books_per_page: Number of books to display per page (must be even for 2-column layout, default: 6)
|
||||
"""
|
||||
self.library_path = Path(library_path)
|
||||
self.page_size = page_size
|
||||
|
||||
@@ -326,6 +326,11 @@ class DReaderApplication:
|
||||
"""
|
||||
Handle touch events in library mode.
|
||||
|
||||
Supports:
|
||||
- TAP: Select a book to read
|
||||
- SWIPE_LEFT: Next page
|
||||
- SWIPE_RIGHT: Previous page
|
||||
|
||||
Args:
|
||||
event: Touch event
|
||||
"""
|
||||
@@ -341,6 +346,26 @@ class DReaderApplication:
|
||||
else:
|
||||
logger.debug("Tap did not hit a book")
|
||||
|
||||
elif event.gesture == GestureType.SWIPE_LEFT:
|
||||
logger.debug("Library: swipe left (next page)")
|
||||
if self.library.next_page():
|
||||
logger.info(f"Library: moved to page {self.library.current_page + 1}/{self.library.get_total_pages()}")
|
||||
# Re-render library with new page
|
||||
self.library.create_library_table()
|
||||
self.current_image = self.library.render_library()
|
||||
else:
|
||||
logger.debug("Library: already on last page")
|
||||
|
||||
elif event.gesture == GestureType.SWIPE_RIGHT:
|
||||
logger.debug("Library: swipe right (previous page)")
|
||||
if self.library.previous_page():
|
||||
logger.info(f"Library: moved to page {self.library.current_page + 1}/{self.library.get_total_pages()}")
|
||||
# Re-render library with new page
|
||||
self.library.create_library_table()
|
||||
self.current_image = self.library.render_library()
|
||||
else:
|
||||
logger.debug("Library: already on first page")
|
||||
|
||||
async def _handle_reading_touch(self, event: TouchEvent):
|
||||
"""
|
||||
Handle touch events in reading mode.
|
||||
|
||||
Reference in New Issue
Block a user