diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py
index 45cc47a510..e0ca699e9b 100644
--- a/src/calibre/gui2/__init__.py
+++ b/src/calibre/gui2/__init__.py
@@ -123,6 +123,7 @@ def create_defs():
defs['tag_browser_old_look'] = False
defs['tag_browser_hide_empty_categories'] = False
defs['book_list_tooltips'] = True
+ defs['show_layout_buttons'] = False
defs['bd_show_cover'] = True
defs['bd_overlay_cover_size'] = False
defs['tags_browser_category_icons'] = {}
diff --git a/src/calibre/gui2/init.py b/src/calibre/gui2/init.py
index dc19ca433e..c1fd2fb704 100644
--- a/src/calibre/gui2/init.py
+++ b/src/calibre/gui2/init.py
@@ -587,15 +587,22 @@ class LayoutMixin(object): # {{{
QToolButton:checked { background: rgba(0, 0, 0, 25%); }
''')
self.status_bar.addPermanentWidget(button)
- self.layout_button = b = QToolButton(self)
- b.setAutoRaise(True), b.setCursor(Qt.PointingHandCursor)
- b.setPopupMode(b.InstantPopup)
- b.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)
- b.setText(_('Layout')), b.setIcon(QIcon(I('config.png')))
- b.setMenu(LayoutMenu(self))
- b.setToolTip(_(
- 'Show and hide various parts of the calibre main window'))
- self.status_bar.addPermanentWidget(b)
+ if gprefs['show_layout_buttons']:
+ from calibre.utils.icu import primary_sort_key
+ for b in sorted(self.layout_buttons, key=lambda b: primary_sort_key(b.label)):
+ print(b.label)
+ b.setVisible(True)
+ self.status_bar.addPermanentWidget(b)
+ else:
+ self.layout_button = b = QToolButton(self)
+ b.setAutoRaise(True), b.setCursor(Qt.PointingHandCursor)
+ b.setPopupMode(b.InstantPopup)
+ b.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)
+ b.setText(_('Layout')), b.setIcon(QIcon(I('config.png')))
+ b.setMenu(LayoutMenu(self))
+ b.setToolTip(_(
+ 'Show and hide various parts of the calibre main window'))
+ self.status_bar.addPermanentWidget(b)
self.status_bar.addPermanentWidget(self.jobs_button)
self.setStatusBar(self.status_bar)
self.status_bar.update_label.linkActivated.connect(self.update_link_clicked)
diff --git a/src/calibre/gui2/preferences/look_feel.py b/src/calibre/gui2/preferences/look_feel.py
index 66ff475383..8e9e54c926 100644
--- a/src/calibre/gui2/preferences/look_feel.py
+++ b/src/calibre/gui2/preferences/look_feel.py
@@ -348,6 +348,7 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form):
self.opt_hidpi.setVisible(False), self.label_hidpi.setVisible(False)
r('ui_style', gprefs, restart_required=True, choices=[(_('System default'), 'system'), (_('calibre style'), 'calibre')])
r('book_list_tooltips', gprefs)
+ r('show_layout_buttons', gprefs, restart_required=True)
r('row_numbers_in_book_list', gprefs)
r('tag_browser_old_look', gprefs, restart_required=True)
r('tag_browser_hide_empty_categories', gprefs)
diff --git a/src/calibre/gui2/preferences/look_feel.ui b/src/calibre/gui2/preferences/look_feel.ui
index 255f29cbb5..0a1f849848 100644
--- a/src/calibre/gui2/preferences/look_feel.ui
+++ b/src/calibre/gui2/preferences/look_feel.ui
@@ -126,6 +126,13 @@
+ -
+
+
+ Show &layout buttons in the status bar (needs restart)
+
+
+
-