mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-08-30 23:00:21 -04:00
Implement random book
This commit is contained in:
parent
f62f27f803
commit
3942b56390
@ -18,7 +18,7 @@ from book_list.cover_grid import cover_grid_css, create_item as create_cover_gri
|
|||||||
from book_list.top_bar import create_top_bar, add_button
|
from book_list.top_bar import create_top_bar, add_button
|
||||||
from book_list.router import back
|
from book_list.router import back
|
||||||
from book_list.ui import set_panel_handler, show_panel
|
from book_list.ui import set_panel_handler, show_panel
|
||||||
from book_list.library_data import load_status, ensure_current_library_data, library_data, current_sorted_field, loaded_books_query, url_books_query
|
from book_list.library_data import load_status, ensure_current_library_data, library_data, current_sorted_field, loaded_books_query, url_books_query, current_library_id
|
||||||
from book_list.item_list import create_item_list, create_item
|
from book_list.item_list import create_item_list, create_item
|
||||||
|
|
||||||
ALLOWED_MODES = {'cover_grid'}
|
ALLOWED_MODES = {'cover_grid'}
|
||||||
@ -158,6 +158,7 @@ def create_books_list(container):
|
|||||||
apply_view_mode(get_session_data().get('view_mode'))
|
apply_view_mode(get_session_data().get('view_mode'))
|
||||||
create_more_button(container.lastChild)
|
create_more_button(container.lastChild)
|
||||||
add_button(container.parentNode, icon='sort-amount-desc', action=show_panel.bind(None, 'book_list^sort'), tooltip=_('Sort Books'))
|
add_button(container.parentNode, icon='sort-amount-desc', action=show_panel.bind(None, 'book_list^sort'), tooltip=_('Sort Books'))
|
||||||
|
add_button(container.parentNode, icon='ellipsis-v', action=show_panel.bind(None, 'book_list^more_actions'), tooltip=_('More actions'))
|
||||||
|
|
||||||
|
|
||||||
def check_for_books_loaded():
|
def check_for_books_loaded():
|
||||||
@ -242,5 +243,23 @@ def search(query, replace=False):
|
|||||||
|
|
||||||
# }}}
|
# }}}
|
||||||
|
|
||||||
|
# More actions {{{
|
||||||
|
|
||||||
|
def create_more_actions_panel(container_id):
|
||||||
|
container = document.getElementById(container_id)
|
||||||
|
create_top_bar(container, title=_('Sort books by…'), action=back, icon='close')
|
||||||
|
items = [
|
||||||
|
create_item(_('Book List Mode'), subtitle=_('Change how the list of books is displayed')),
|
||||||
|
create_item(_('A Random Book'), subtitle=_('Choose a random book from the library'), action=def():
|
||||||
|
query = {'library_id': current_library_id(), 'book_id':'0'}
|
||||||
|
show_panel('book_details', query=query, replace=True)
|
||||||
|
),
|
||||||
|
]
|
||||||
|
container.appendChild(E.div())
|
||||||
|
create_item_list(container.lastChild, items)
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
|
||||||
set_panel_handler('book_list', init)
|
set_panel_handler('book_list', init)
|
||||||
set_panel_handler('book_list^sort', create_sort_panel)
|
set_panel_handler('book_list^sort', create_sort_panel)
|
||||||
|
set_panel_handler('book_list^more_actions', create_more_actions_panel)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user