diff --git a/src/calibre/ebooks/metadata/book/render.py b/src/calibre/ebooks/metadata/book/render.py
index e25a57688e..7dd08428a3 100644
--- a/src/calibre/ebooks/metadata/book/render.py
+++ b/src/calibre/ebooks/metadata/book/render.py
@@ -87,7 +87,11 @@ def author_search_href(which, title=None, author=None):
return func(key, title=title, author=author), tt
-def mi_to_html(mi, field_list=None, default_author_link=None, use_roman_numbers=True, rating_font='Liberation Serif', rtl=False):
+def mi_to_html(
+ mi,
+ field_list=None, default_author_link=None, use_roman_numbers=True,
+ rating_font='Liberation Serif', rtl=False, comments_heading_pos='hide'
+ ):
if field_list is None:
field_list = get_field_list(mi)
ans = []
@@ -131,10 +135,11 @@ def mi_to_html(mi, field_list=None, default_author_link=None, use_roman_numbers=
val = markdown(val)
else:
val = comments_to_html(val)
- if disp.get('heading_position', 'hide') == 'side':
+ heading_position = disp.get('heading_position', comments_heading_pos)
+ if heading_position == 'side':
ans.append((field, row % (name, val)))
else:
- if disp.get('heading_position', 'hide') == 'above':
+ if heading_position == 'above':
val = '
%s' % (p(name), val)
comment_fields.append('' % (field.replace('#', '_'), val))
elif metadata['datatype'] == 'rating':
diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py
index d825fb1e1f..26b52a76b8 100644
--- a/src/calibre/gui2/__init__.py
+++ b/src/calibre/gui2/__init__.py
@@ -186,7 +186,7 @@ def create_defs():
defs['qv_dclick_changes_column'] = True
defs['qv_retkey_changes_column'] = True
defs['qv_follows_column'] = False
- defs['book_details_narrow_comments_layout'] = 'float'
+ defs['book_details_comments_heading_pos'] = 'hide'
defs['book_list_split'] = False
defs['wrap_toolbar_text'] = False
defs['dnd_merge'] = True
diff --git a/src/calibre/gui2/book_details.py b/src/calibre/gui2/book_details.py
index a3efd68a86..18b8b7e917 100644
--- a/src/calibre/gui2/book_details.py
+++ b/src/calibre/gui2/book_details.py
@@ -160,8 +160,11 @@ def get_field_list(fm, use_defaults=False, pref_name='book_display_fields'):
def render_data(mi, use_roman_numbers=True, all_fields=False, pref_name='book_display_fields'):
field_list = get_field_list(getattr(mi, 'field_metadata', field_metadata), pref_name=pref_name)
field_list = [(x, all_fields or display) for x, display in field_list]
- return mi_to_html(mi, field_list=field_list, use_roman_numbers=use_roman_numbers, rtl=is_rtl(),
- rating_font=rating_font(), default_author_link=default_author_link())
+ return mi_to_html(
+ mi, field_list=field_list, use_roman_numbers=use_roman_numbers, rtl=is_rtl(),
+ rating_font=rating_font(), default_author_link=default_author_link(),
+ comments_heading_pos=gprefs['book_details_comments_heading_pos']
+ )
# }}}
diff --git a/src/calibre/gui2/preferences/look_feel.py b/src/calibre/gui2/preferences/look_feel.py
index 0f22ee8064..2e2b8e76df 100644
--- a/src/calibre/gui2/preferences/look_feel.py
+++ b/src/calibre/gui2/preferences/look_feel.py
@@ -441,6 +441,8 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
(_('Left'), 'left'), (_('Top'), 'top'), (_('Right'), 'right'), (_('Bottom'), 'bottom')])
r('book_list_extra_row_spacing', gprefs)
r('booklist_grid', gprefs)
+ r('book_details_comments_heading_pos', gprefs, choices=[
+ (_('Never'), 'hide'), (_('Above text'), 'above'), (_('Beside text'), 'side')])
self.cover_browser_title_template_button.clicked.connect(self.edit_cb_title_template)
self.id_links_button.clicked.connect(self.edit_id_link_rules)
diff --git a/src/calibre/gui2/preferences/look_feel.ui b/src/calibre/gui2/preferences/look_feel.ui
index e205f0575a..df98d6123a 100644
--- a/src/calibre/gui2/preferences/look_feel.ui
+++ b/src/calibre/gui2/preferences/look_feel.ui
@@ -17,7 +17,7 @@
-
- 0
+ 2
@@ -726,69 +726,8 @@ A value of zero means calculate automatically.
&Book details
-
-
-
-
-
-
-
-
- Show &cover in the Book details panel
-
-
-
- -
-
-
- Show the size of the book's cover in pixels
-
-
- Show cover &size
-
-
-
- -
-
-
- Use &Roman numerals for series
-
-
- true
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 20
- 0
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- -
-
-
- Create rules to convert &identifiers into links
-
-
-
- -
+
+
-
Text styling
@@ -800,7 +739,24 @@ A value of zero means calculate automatically.
- -
+
-
+
+
+ Create rules to convert &identifiers into links
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ -
Select displayed metadata
@@ -861,6 +817,74 @@ A value of zero means calculate automatically.
+ -
+
+
-
+
+
+ Show &cover in the Book details panel
+
+
+
+ -
+
+
+ Show the size of the book's cover in pixels
+
+
+ Show cover &size
+
+
+
+ -
+
+
+ Use &Roman numerals for series
+
+
+ true
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 20
+ 0
+
+
+
+
+
+
+ -
+
+
-
+
+
+ Show comments &heading:
+
+
+ opt_book_details_comments_heading_pos
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+
+