diff --git a/imgsrc/srv/edit.svg b/imgsrc/srv/edit.svg
new file mode 100644
index 0000000000..4d14f21878
--- /dev/null
+++ b/imgsrc/srv/edit.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/pyj/book_list/book_details.pyj b/src/pyj/book_list/book_details.pyj
index 91c3d54a82..7d1c133ead 100644
--- a/src/pyj/book_list/book_details.pyj
+++ b/src/pyj/book_list/book_details.pyj
@@ -455,6 +455,7 @@ def add_top_bar_buttons(container_id):
container = document.getElementById(container_id)
if container:
clear_buttons(container)
+ add_button(container, 'edit', action=edit_metadata, tooltip=_('Edit the metadata for this book'))
add_button(container, 'trash', action=delete_book, tooltip=_('Delete this book'))
book_id = parse_url_params().book_id
if book_id is '0':
@@ -570,6 +571,12 @@ def show_subsequent_panel(name, replace=False):
show_panel('book_details^' + name, query=q, replace=replace)
+def edit_metadata():
+ q = parse_url_params()
+ q.book_id = (read_book.book_id or q.book_id) + ''
+ show_panel('edit_metadata', query=q, replace=False)
+
+
def create_more_actions_panel(container_id):
container = document.getElementById(container_id)
create_top_bar(container, title=_('More actions…'), action=back, icon='close')
diff --git a/src/pyj/book_list/edit_metadata.pyj b/src/pyj/book_list/edit_metadata.pyj
new file mode 100644
index 0000000000..f3e2e33238
--- /dev/null
+++ b/src/pyj/book_list/edit_metadata.pyj
@@ -0,0 +1,12 @@
+# vim:fileencoding=utf-8
+# License: GPL v3 Copyright: 2018, Kovid Goyal
+from __python__ import bound_methods, hash_literals
+
+from book_list.ui import set_panel_handler
+
+
+def init(container_id):
+ pass
+
+
+set_panel_handler('edit_metadata', init)
diff --git a/src/pyj/book_list/main.pyj b/src/pyj/book_list/main.pyj
index bcae29c64d..53a9e17e2b 100644
--- a/src/pyj/book_list/main.pyj
+++ b/src/pyj/book_list/main.pyj
@@ -25,6 +25,7 @@ import book_list.home # noqa: unused-import
import book_list.views # noqa: unused-import
import book_list.local_books # noqa: unused-import
import book_list.book_details # noqa: unused-import
+import book_list.edit_metadata # noqa: unused-import
def remove_initial_progress_bar():