From a7a20a5e1c3136ce0267cad9169deb1609810010 Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Fri, 7 May 2010 14:57:46 +0100 Subject: [PATCH] 1) fix tab order (bug #5480) 2) mark tags to add/remove strings as translatable 3) add ':' to boolean label 4) refactor widget creation loop --- src/calibre/gui2/custom_column_widgets.py | 17 ++++++++--------- src/calibre/gui2/dialogs/metadata_bulk.py | 4 +++- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/calibre/gui2/custom_column_widgets.py b/src/calibre/gui2/custom_column_widgets.py index 0becf4b0b3..cd38be50d2 100644 --- a/src/calibre/gui2/custom_column_widgets.py +++ b/src/calibre/gui2/custom_column_widgets.py @@ -46,7 +46,7 @@ class Base(object): class Bool(Base): def setup_ui(self, parent): - self.widgets = [QLabel('&'+self.col_metadata['name'], parent), + self.widgets = [QLabel('&'+self.col_metadata['name']+':', parent), QComboBox(parent)] w = self.widgets[1] items = [_('Yes'), _('No'), _('Undefined')] @@ -57,7 +57,6 @@ class Bool(Base): for icon, text in zip(icons, items): w.addItem(QIcon(icon), text) - def setter(self, val): val = {None: 2, False: 1, True: 0}[val] if tweaks['bool_custom_columns_are_tristate'] == 'no' and val == 2: @@ -338,12 +337,14 @@ class BulkText(BulkBase): if self.col_metadata['is_multiple']: w = TagsLineEdit(parent, values) w.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Preferred) - self.widgets = [QLabel('&'+self.col_metadata['name']+': (tags to add)', parent), w] + self.widgets = [QLabel('&'+self.col_metadata['name']+': ' + + _('tags to add'), parent), w] self.adding_widget = w w = TagsLineEdit(parent, values) w.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Preferred) - self.widgets.append(QLabel('&'+self.col_metadata['name']+': (tags to remove)', parent)) + self.widgets.append(QLabel('&'+self.col_metadata['name']+': ' + + _('tags to remove'), parent)) self.widgets.append(w) self.removing_widget = w else: @@ -413,12 +414,10 @@ def populate_bulk_metadata_page(layout, db, book_ids, parent=None): if len(w.widgets) == 1: layout.addWidget(w.widgets[0], row, 0, 1, -1) else: - c = 0 - while c < len(w.widgets): + for c in range(0, len(w.widgets), 2): w.widgets[c].setBuddy(w.widgets[c+1]) - layout.addWidget(w.widgets[c], row, c%2) - layout.addWidget(w.widgets[c+1], row, (c+1)%2) - c += 2 + layout.addWidget(w.widgets[c], row, 0) + layout.addWidget(w.widgets[c+1], row, 1) row += 1 items = [] if len(ans) > 0: diff --git a/src/calibre/gui2/dialogs/metadata_bulk.py b/src/calibre/gui2/dialogs/metadata_bulk.py index 0207786e30..eca7fe9c15 100644 --- a/src/calibre/gui2/dialogs/metadata_bulk.py +++ b/src/calibre/gui2/dialogs/metadata_bulk.py @@ -57,7 +57,9 @@ class MetadataBulkDialog(QDialog, Ui_MetadataBulkDialog): self.__custom_col_layouts = [layout] ans = self.custom_column_widgets for i in range(len(ans)-1): - w.setTabOrder(ans[i].widgets[1], ans[i+1].widgets[1]) + w.setTabOrder(ans[i].widgets[-1], ans[i+1].widgets[1]) + for c in range(2, len(ans[i].widgets), 2): + w.setTabOrder(ans[i].widgets[c-1], ans[i].widgets[c+1]) def initialize_combos(self): self.initalize_authors()