From 379ff283c389e43b9db5ce756bb0b3f96ac876d9 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 19 Jun 2017 17:20:11 +0530 Subject: [PATCH] DRYer --- src/calibre/gui2/widgets.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/calibre/gui2/widgets.py b/src/calibre/gui2/widgets.py index 3cdded223b..1345bd735c 100644 --- a/src/calibre/gui2/widgets.py +++ b/src/calibre/gui2/widgets.py @@ -975,17 +975,20 @@ class LayoutButton(QToolButton): sc = sc.toString(sc.NativeText) self.shortcut = sc or '' + def update_text(self): + t = _('Hide {}') if self.isChecked() else _('Show {}') + t = t.format(self.label) + if self.shortcut: + t += ' [{}]'.format(self.shortcut) + self.setText(t), self.setToolTip(t), self.setStatusTip(t) + def set_state_to_show(self, *args): self.setChecked(False) - self.setText(_('Show {}'.format(self.label) + '\t' + self.shortcut)) - self.setToolTip(self.text()) - self.setStatusTip(self.text()) + self.update_text() def set_state_to_hide(self, *args): self.setChecked(True) - self.setText(_('Hide {}'.format(self.label) + '\t' + self.shortcut)) - self.setToolTip(self.text()) - self.setStatusTip(self.text()) + self.update_text() def update_state(self, *args): if self.splitter.is_side_index_hidden: