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) + + +