Beispiel #1
0
class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(430, 74)
        self.gridLayout = QtWidgets.QGridLayout(Form)
        self.gridLayout.setObjectName("gridLayout")
        self.verticalLayout = QtWidgets.QVBoxLayout()
        self.verticalLayout.setObjectName("verticalLayout")
        self.msg = QtWidgets.QLabel(Form)
        self.msg.setWordWrap(True)
        self.msg.setObjectName("msg")
        self.verticalLayout.addWidget(self.msg)
        self.edit = HistoryLineEdit(Form)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(100)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.edit.sizePolicy().hasHeightForWidth())
        self.edit.setSizePolicy(sizePolicy)
        self.edit.setMinimumSize(QtCore.QSize(350, 0))
        self.edit.setSizeAdjustPolicy(
            QtWidgets.QComboBox.AdjustToMinimumContentsLengthWithIcon)
        self.edit.setMinimumContentsLength(30)
        self.edit.setObjectName("edit")
        self.verticalLayout.addWidget(self.edit)
        self.gridLayout.addLayout(self.verticalLayout, 0, 0, 1, 1)
        self.button = QtWidgets.QToolButton(Form)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(I("wizard.png")), QtGui.QIcon.Normal,
                       QtGui.QIcon.Off)
        self.button.setIcon(icon)
        self.button.setIconSize(QtCore.QSize(40, 40))
        self.button.setObjectName("button")
        self.gridLayout.addWidget(self.button, 0, 1, 1, 1)
        self.msg.setBuddy(self.edit)

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):

        Form.setWindowTitle(_("Form"))
        self.msg.setText(_("TextLabel"))
        self.button.setToolTip(
            _("Use a wizard to help construct the Regular expression"))
        self.button.setText(_("..."))
Beispiel #2
0
class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName(_fromUtf8("Form"))
        Form.resize(430, 74)
        Form.setWindowTitle(_("Form"))
        self.gridLayout = QtGui.QGridLayout(Form)
        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
        self.verticalLayout = QtGui.QVBoxLayout()
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.msg = QtGui.QLabel(Form)
        self.msg.setText(_("TextLabel"))
        self.msg.setWordWrap(True)
        self.msg.setObjectName(_fromUtf8("msg"))
        self.verticalLayout.addWidget(self.msg)
        self.edit = HistoryLineEdit(Form)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(100)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.edit.sizePolicy().hasHeightForWidth())
        self.edit.setSizePolicy(sizePolicy)
        self.edit.setMinimumSize(QtCore.QSize(350, 0))
        self.edit.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToMinimumContentsLengthWithIcon)
        self.edit.setMinimumContentsLength(30)
        self.edit.setObjectName(_fromUtf8("edit"))
        self.verticalLayout.addWidget(self.edit)
        self.gridLayout.addLayout(self.verticalLayout, 0, 0, 1, 1)
        self.button = QtGui.QToolButton(Form)
        self.button.setToolTip(_("Use a wizard to help construct the Regular expression"))
        self.button.setText(_("..."))
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(_fromUtf8(I("wizard.png"))), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.button.setIcon(icon)
        self.button.setIconSize(QtCore.QSize(40, 40))
        self.button.setObjectName(_fromUtf8("button"))
        self.gridLayout.addWidget(self.button, 0, 1, 1, 1)
        self.msg.setBuddy(self.edit)

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        pass
class Ui_TagListEditor(object):
    def setupUi(self, TagListEditor):
        TagListEditor.setObjectName(_fromUtf8("TagListEditor"))
        TagListEditor.resize(397, 335)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(_fromUtf8(I("chapters.png"))), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        TagListEditor.setWindowIcon(icon)
        self.gridlayout = QtGui.QGridLayout(TagListEditor)
        self.gridlayout.setObjectName(_fromUtf8("gridlayout"))
        self.horizontalLayout_11 = QtGui.QHBoxLayout()
        self.horizontalLayout_11.setObjectName(_fromUtf8("horizontalLayout_11"))
        self.search_box = HistoryLineEdit(TagListEditor)
        self.search_box.setObjectName(_fromUtf8("search_box"))
        self.horizontalLayout_11.addWidget(self.search_box)
        self.search_button = QtGui.QToolButton(TagListEditor)
        self.search_button.setObjectName(_fromUtf8("search_button"))
        self.horizontalLayout_11.addWidget(self.search_button)
        self.gridlayout.addLayout(self.horizontalLayout_11, 0, 1, 1, 1)
        self.verticalLayout_2 = QtGui.QVBoxLayout()
        self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
        self.delete_button = QtGui.QToolButton(TagListEditor)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(_fromUtf8(I("trash.png"))), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.delete_button.setIcon(icon1)
        self.delete_button.setIconSize(QtCore.QSize(32, 32))
        self.delete_button.setObjectName(_fromUtf8("delete_button"))
        self.verticalLayout_2.addWidget(self.delete_button)
        self.rename_button = QtGui.QToolButton(TagListEditor)
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(_fromUtf8(I("edit_input.png"))), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.rename_button.setIcon(icon2)
        self.rename_button.setIconSize(QtCore.QSize(32, 32))
        self.rename_button.setObjectName(_fromUtf8("rename_button"))
        self.verticalLayout_2.addWidget(self.rename_button)
        self.gridlayout.addLayout(self.verticalLayout_2, 1, 0, 1, 1)
        self.table = QtGui.QTableWidget(TagListEditor)
        self.table.setAlternatingRowColors(True)
        self.table.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
        self.table.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
        self.table.setObjectName(_fromUtf8("table"))
        self.table.setColumnCount(0)
        self.table.setRowCount(0)
        self.gridlayout.addWidget(self.table, 1, 1, 1, 1)
        self.buttonBox = QtGui.QDialogButtonBox(TagListEditor)
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
        self.buttonBox.setCenterButtons(True)
        self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
        self.gridlayout.addWidget(self.buttonBox, 3, 0, 1, 2)

        self.retranslateUi(TagListEditor)
        QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), TagListEditor.accept)
        QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), TagListEditor.reject)
        QtCore.QMetaObject.connectSlotsByName(TagListEditor)

    def retranslateUi(self, TagListEditor):
        TagListEditor.setWindowTitle(_("Category Editor"))
        self.search_box.setToolTip(_("Search for an item in the Tag column"))
        self.search_button.setText(_("Find"))
        self.search_button.setToolTip(_("Copy the selected color name to the clipboard"))
        self.delete_button.setToolTip(_("Delete item from database. This will unapply the item from all books and then remove it from the database."))
        self.delete_button.setText(_("..."))
        self.rename_button.setToolTip(_("Rename the item in every book where it is used."))
        self.rename_button.setText(_("..."))
        self.rename_button.setShortcut(_("Ctrl+S"))
Beispiel #4
0
class Ui_EditAuthorsDialog(object):
    def setupUi(self, EditAuthorsDialog):
        EditAuthorsDialog.setObjectName(_fromUtf8("EditAuthorsDialog"))
        EditAuthorsDialog.resize(768, 342)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding,
                                       QtGui.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            EditAuthorsDialog.sizePolicy().hasHeightForWidth())
        EditAuthorsDialog.setSizePolicy(sizePolicy)
        self.verticalLayout = QtGui.QVBoxLayout(EditAuthorsDialog)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.hboxlayout = QtGui.QHBoxLayout()
        self.hboxlayout.setObjectName(_fromUtf8("hboxlayout"))
        self.label = QtGui.QLabel(EditAuthorsDialog)
        self.label.setObjectName(_fromUtf8("label"))
        self.hboxlayout.addWidget(self.label)
        self.find_box = HistoryLineEdit(EditAuthorsDialog)
        self.find_box.setMinimumSize(QtCore.QSize(200, 0))
        self.find_box.setObjectName(_fromUtf8("find_box"))
        self.hboxlayout.addWidget(self.find_box)
        self.find_button = QtGui.QPushButton(EditAuthorsDialog)
        self.find_button.setObjectName(_fromUtf8("find_button"))
        self.hboxlayout.addWidget(self.find_button)
        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding,
                                       QtGui.QSizePolicy.Minimum)
        self.hboxlayout.addItem(spacerItem)
        self.verticalLayout.addLayout(self.hboxlayout)
        self.table = QtGui.QTableWidget(EditAuthorsDialog)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding,
                                       QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.table.sizePolicy().hasHeightForWidth())
        self.table.setSizePolicy(sizePolicy)
        self.table.setColumnCount(0)
        self.table.setObjectName(_fromUtf8("table"))
        self.table.setRowCount(0)
        self.verticalLayout.addWidget(self.table)
        self.gridlayout = QtGui.QGridLayout()
        self.gridlayout.setObjectName(_fromUtf8("gridlayout"))
        self.sort_by_author = QtGui.QPushButton(EditAuthorsDialog)
        self.sort_by_author.setObjectName(_fromUtf8("sort_by_author"))
        self.gridlayout.addWidget(self.sort_by_author, 0, 0, 1, 1)
        self.sort_by_author_sort = QtGui.QPushButton(EditAuthorsDialog)
        self.sort_by_author_sort.setObjectName(
            _fromUtf8("sort_by_author_sort"))
        self.gridlayout.addWidget(self.sort_by_author_sort, 0, 1, 1, 1)
        self.recalc_author_sort = QtGui.QPushButton(EditAuthorsDialog)
        self.recalc_author_sort.setObjectName(_fromUtf8("recalc_author_sort"))
        self.gridlayout.addWidget(self.recalc_author_sort, 1, 0, 1, 1)
        self.auth_sort_to_author = QtGui.QPushButton(EditAuthorsDialog)
        self.auth_sort_to_author.setObjectName(
            _fromUtf8("auth_sort_to_author"))
        self.gridlayout.addWidget(self.auth_sort_to_author, 1, 1, 1, 1)
        self.buttonBox = QtGui.QDialogButtonBox(EditAuthorsDialog)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum,
                                       QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.buttonBox.sizePolicy().hasHeightForWidth())
        self.buttonBox.setSizePolicy(sizePolicy)
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel
                                          | QtGui.QDialogButtonBox.Ok)
        self.buttonBox.setCenterButtons(False)
        self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
        self.gridlayout.addWidget(self.buttonBox, 1, 2, 1, 1)
        self.verticalLayout.addLayout(self.gridlayout)
        self.label.setBuddy(self.find_box)

        self.retranslateUi(EditAuthorsDialog)
        QtCore.QObject.connect(self.buttonBox,
                               QtCore.SIGNAL(_fromUtf8("accepted()")),
                               EditAuthorsDialog.accept)
        QtCore.QObject.connect(self.buttonBox,
                               QtCore.SIGNAL(_fromUtf8("rejected()")),
                               EditAuthorsDialog.reject)
        QtCore.QMetaObject.connectSlotsByName(EditAuthorsDialog)

    def retranslateUi(self, EditAuthorsDialog):
        EditAuthorsDialog.setWindowTitle(_("Manage authors"))
        self.label.setText(_("&Search for:"))
        self.find_button.setText(_("F&ind"))
        self.sort_by_author.setText(_("Sort by author"))
        self.sort_by_author_sort.setText(_("Sort by author sort"))
        self.recalc_author_sort.setToolTip(
            _("Reset all the author sort values to a value automatically\n"
              "generated from the author. Exactly how this value is automatically\n"
              "generated can be controlled via Preferences->Advanced->Tweaks"))
        self.recalc_author_sort.setText(
            _("Recalculate all author sort values"))
        self.auth_sort_to_author.setToolTip(
            _("Copy author sort to author for every author. You typically use this button\n"
              "after changing Preferences->Advanced->Tweaks->Author sort name algorithm"
              ))
        self.auth_sort_to_author.setText(
            _("Copy all author sort values to author"))
Beispiel #5
0
class Ui_EditAuthorsDialog(object):
    def setupUi(self, EditAuthorsDialog):
        EditAuthorsDialog.setObjectName("EditAuthorsDialog")
        EditAuthorsDialog.resize(768, 342)
        sizePolicy = QtWidgets.QSizePolicy(
            QtWidgets.QSizePolicy.Expanding,
            QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            EditAuthorsDialog.sizePolicy().hasHeightForWidth())
        EditAuthorsDialog.setSizePolicy(sizePolicy)
        self.verticalLayout = QtWidgets.QVBoxLayout(EditAuthorsDialog)
        self.verticalLayout.setObjectName("verticalLayout")
        self.gridlayout = QtWidgets.QGridLayout()
        self.gridlayout.setObjectName("gridlayout")
        self.label = QtWidgets.QLabel(EditAuthorsDialog)
        self.label.setObjectName("label")
        self.gridlayout.addWidget(self.label, 0, 0, 1, 1)
        self.find_box = HistoryLineEdit(EditAuthorsDialog)
        self.find_box.setMinimumSize(QtCore.QSize(200, 0))
        self.find_box.setClearButtonEnabled(True)
        self.find_box.setObjectName("find_box")
        self.gridlayout.addWidget(self.find_box, 0, 1, 1, 1)
        self.find_button = QtWidgets.QPushButton(EditAuthorsDialog)
        self.find_button.setObjectName("find_button")
        self.gridlayout.addWidget(self.find_button, 0, 2, 1, 1)
        spacerItem = QtWidgets.QSpacerItem(40, 20,
                                           QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Minimum)
        self.gridlayout.addItem(spacerItem, 0, 3, 1, 1)
        self.apply_vl_checkbox = QtWidgets.QCheckBox(EditAuthorsDialog)
        self.apply_vl_checkbox.setObjectName("apply_vl_checkbox")
        self.gridlayout.addWidget(self.apply_vl_checkbox, 0, 4, 1, 1)
        self.label1 = QtWidgets.QLabel(EditAuthorsDialog)
        self.label1.setObjectName("label1")
        self.gridlayout.addWidget(self.label1, 1, 0, 1, 1)
        self.filter_box = HistoryLineEdit(EditAuthorsDialog)
        self.filter_box.setMinimumSize(QtCore.QSize(200, 0))
        self.filter_box.setClearButtonEnabled(True)
        self.filter_box.setObjectName("filter_box")
        self.gridlayout.addWidget(self.filter_box, 1, 1, 1, 1)
        self.filter_button = QtWidgets.QPushButton(EditAuthorsDialog)
        self.filter_button.setObjectName("filter_button")
        self.gridlayout.addWidget(self.filter_button, 1, 2, 1, 1)
        self.verticalLayout.addLayout(self.gridlayout)
        self.table = QtWidgets.QTableWidget(EditAuthorsDialog)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.table.sizePolicy().hasHeightForWidth())
        self.table.setSizePolicy(sizePolicy)
        self.table.setColumnCount(0)
        self.table.setObjectName("table")
        self.table.setRowCount(0)
        self.verticalLayout.addWidget(self.table)
        self.gridlayout1 = QtWidgets.QGridLayout()
        self.gridlayout1.setObjectName("gridlayout1")
        self.recalc_author_sort = QtWidgets.QPushButton(EditAuthorsDialog)
        self.recalc_author_sort.setObjectName("recalc_author_sort")
        self.gridlayout1.addWidget(self.recalc_author_sort, 1, 0, 1, 1)
        self.auth_sort_to_author = QtWidgets.QPushButton(EditAuthorsDialog)
        self.auth_sort_to_author.setObjectName("auth_sort_to_author")
        self.gridlayout1.addWidget(self.auth_sort_to_author, 1, 1, 1, 1)
        self.buttonBox = QtWidgets.QDialogButtonBox(EditAuthorsDialog)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.buttonBox.sizePolicy().hasHeightForWidth())
        self.buttonBox.setSizePolicy(sizePolicy)
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel
                                          | QtWidgets.QDialogButtonBox.Ok)
        self.buttonBox.setCenterButtons(False)
        self.buttonBox.setObjectName("buttonBox")
        self.gridlayout1.addWidget(self.buttonBox, 1, 2, 1, 1)
        self.verticalLayout.addLayout(self.gridlayout1)
        self.label.setBuddy(self.find_box)
        self.label1.setBuddy(self.filter_box)

        self.retranslateUi(EditAuthorsDialog)
        self.buttonBox.accepted.connect(EditAuthorsDialog.accept)
        self.buttonBox.rejected.connect(EditAuthorsDialog.reject)
        QtCore.QMetaObject.connectSlotsByName(EditAuthorsDialog)

    def retranslateUi(self, EditAuthorsDialog):

        EditAuthorsDialog.setWindowTitle(_("Manage authors"))
        self.label.setText(_("&Search for:"))
        self.find_button.setText(_("S&earch"))
        self.apply_vl_checkbox.setToolTip(
            _("<p>Only show authors in the\n"
              "          current Virtual library. Edits already done may be hidden but will\n"
              "          not be forgotten.</p>"))
        self.apply_vl_checkbox.setText(
            _("Only show authors in the current &Virtual library"))
        self.label1.setText(_("Filter &by:"))
        self.filter_box.setToolTip(
            _("<p>Only show authors that contain the text in this box.\n"
              "          The match ignores case.</p>"))
        self.filter_button.setText(_("Fi&lter"))
        self.recalc_author_sort.setToolTip(
            _("Reset all the author sort values to a value automatically\n"
              "generated from the author. Exactly how this value is automatically\n"
              "generated can be controlled via Preferences->Advanced->Tweaks"))
        self.recalc_author_sort.setText(
            _("&Recalculate all author sort values"))
        self.auth_sort_to_author.setToolTip(
            _("Copy author sort to author for every author. You typically use this button\n"
              "after changing Preferences->Advanced->Tweaks->Author sort name algorithm"
              ))
        self.auth_sort_to_author.setText(
            _("&Copy all author sort values to author"))
Beispiel #6
0
class Ui_MetadataBulkDialog(object):
    def setupUi(self, MetadataBulkDialog):
        MetadataBulkDialog.setObjectName("MetadataBulkDialog")
        MetadataBulkDialog.resize(955, 740)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(I("edit_input.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        MetadataBulkDialog.setWindowIcon(icon)
        self.verticalLayout_3 = QtWidgets.QVBoxLayout(MetadataBulkDialog)
        self.verticalLayout_3.setObjectName("verticalLayout_3")
        self.central_widget = QtWidgets.QTabWidget(MetadataBulkDialog)
        self.central_widget.setObjectName("central_widget")
        self.scrollArea1 = QtWidgets.QScrollArea()
        self.scrollArea1.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.scrollArea1.setWidgetResizable(True)
        self.scrollArea1.setObjectName("scrollArea1")
        self.btab = QtWidgets.QWidget()
        self.btab.setGeometry(QtCore.QRect(0, 0, 933, 660))
        self.btab.setObjectName("btab")
        self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.btab)
        self.verticalLayout_4.setObjectName("verticalLayout_4")
        self.gridLayout = QtWidgets.QGridLayout()
        self.gridLayout.setObjectName("gridLayout")
        self.label_2 = QtWidgets.QLabel(self.btab)
        self.label_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_2.setObjectName("label_2")
        self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
        self.authors = EditWithComplete(self.btab)
        self.authors.setEditable(True)
        self.authors.setObjectName("authors")
        self.gridLayout.addWidget(self.authors, 0, 1, 1, 1)
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.auto_author_sort = QtWidgets.QCheckBox(self.btab)
        self.auto_author_sort.setObjectName("auto_author_sort")
        self.horizontalLayout_2.addWidget(self.auto_author_sort)
        self.swap_title_and_author = QtWidgets.QCheckBox(self.btab)
        self.swap_title_and_author.setObjectName("swap_title_and_author")
        self.horizontalLayout_2.addWidget(self.swap_title_and_author)
        self.gridLayout.addLayout(self.horizontalLayout_2, 1, 1, 1, 1)
        self.label_8 = QtWidgets.QLabel(self.btab)
        self.label_8.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_8.setObjectName("label_8")
        self.gridLayout.addWidget(self.label_8, 2, 0, 1, 1)
        self.author_sort = EnLineEdit(self.btab)
        self.author_sort.setObjectName("author_sort")
        self.gridLayout.addWidget(self.author_sort, 2, 1, 1, 1)
        self.label_6 = QtWidgets.QLabel(self.btab)
        self.label_6.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_6.setObjectName("label_6")
        self.gridLayout.addWidget(self.label_6, 3, 0, 1, 1)
        self.rating = RatingEditor(self.btab)
        self.rating.setObjectName("rating")
        self.gridLayout.addWidget(self.rating, 3, 1, 1, 1)
        self.apply_rating = QtWidgets.QCheckBox(self.btab)
        self.apply_rating.setObjectName("apply_rating")
        self.gridLayout.addWidget(self.apply_rating, 3, 2, 1, 1)
        self.label_3 = QtWidgets.QLabel(self.btab)
        self.label_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_3.setObjectName("label_3")
        self.gridLayout.addWidget(self.label_3, 4, 0, 1, 1)
        self.publisher = EditWithComplete(self.btab)
        self.publisher.setEditable(True)
        self.publisher.setObjectName("publisher")
        self.gridLayout.addWidget(self.publisher, 4, 1, 1, 1)
        self.clear_pub = QtWidgets.QCheckBox(self.btab)
        self.clear_pub.setObjectName("clear_pub")
        self.gridLayout.addWidget(self.clear_pub, 4, 2, 1, 1)
        self.label_4 = QtWidgets.QLabel(self.btab)
        self.label_4.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_4.setObjectName("label_4")
        self.gridLayout.addWidget(self.label_4, 5, 0, 1, 1)
        self.tags = EditWithComplete(self.btab)
        self.tags.setObjectName("tags")
        self.gridLayout.addWidget(self.tags, 5, 1, 1, 1)
        self.tag_editor_button = QtWidgets.QToolButton(self.btab)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(I("chapters.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.tag_editor_button.setIcon(icon1)
        self.tag_editor_button.setObjectName("tag_editor_button")
        self.gridLayout.addWidget(self.tag_editor_button, 5, 2, 1, 1)
        self.label = QtWidgets.QLabel(self.btab)
        self.label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label.setObjectName("label")
        self.gridLayout.addWidget(self.label, 6, 0, 1, 1)
        self.remove_tags = EditWithComplete(self.btab)
        self.remove_tags.setObjectName("remove_tags")
        self.gridLayout.addWidget(self.remove_tags, 6, 1, 1, 1)
        self.remove_all_tags = QtWidgets.QCheckBox(self.btab)
        self.remove_all_tags.setObjectName("remove_all_tags")
        self.gridLayout.addWidget(self.remove_all_tags, 6, 2, 1, 1)
        self.label_7 = QtWidgets.QLabel(self.btab)
        self.label_7.setTextFormat(QtCore.Qt.PlainText)
        self.label_7.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_7.setObjectName("label_7")
        self.gridLayout.addWidget(self.label_7, 7, 0, 1, 1)
        self.series = EditWithComplete(self.btab)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.series.sizePolicy().hasHeightForWidth())
        self.series.setSizePolicy(sizePolicy)
        self.series.setEditable(True)
        self.series.setInsertPolicy(QtWidgets.QComboBox.InsertAlphabetically)
        self.series.setSizeAdjustPolicy(QtWidgets.QComboBox.AdjustToMinimumContentsLengthWithIcon)
        self.series.setMinimumContentsLength(40)
        self.series.setObjectName("series")
        self.gridLayout.addWidget(self.series, 7, 1, 1, 1)
        self.clear_series = QtWidgets.QCheckBox(self.btab)
        self.clear_series.setObjectName("clear_series")
        self.gridLayout.addWidget(self.clear_series, 7, 2, 1, 1)
        self.HLayout_3 = QtWidgets.QHBoxLayout()
        self.HLayout_3.setObjectName("HLayout_3")
        self.autonumber_series = QtWidgets.QCheckBox(self.btab)
        self.autonumber_series.setEnabled(False)
        self.autonumber_series.setObjectName("autonumber_series")
        self.HLayout_3.addWidget(self.autonumber_series)
        self.series_numbering_restarts = QtWidgets.QCheckBox(self.btab)
        self.series_numbering_restarts.setEnabled(False)
        self.series_numbering_restarts.setObjectName("series_numbering_restarts")
        self.HLayout_3.addWidget(self.series_numbering_restarts)
        self.series_start_number = QtWidgets.QDoubleSpinBox(self.btab)
        self.series_start_number.setEnabled(False)
        self.series_start_number.setMinimum(0.0)
        self.series_start_number.setMaximum(99000000.0)
        self.series_start_number.setProperty("value", 1.0)
        self.series_start_number.setObjectName("series_start_number")
        self.HLayout_3.addWidget(self.series_start_number)
        self.series_increment = QtWidgets.QDoubleSpinBox(self.btab)
        self.series_increment.setEnabled(False)
        self.series_increment.setMinimum(0.0)
        self.series_increment.setMaximum(99999.0)
        self.series_increment.setProperty("value", 1.0)
        self.series_increment.setObjectName("series_increment")
        self.HLayout_3.addWidget(self.series_increment)
        self.gridLayout.addLayout(self.HLayout_3, 8, 1, 1, 1)
        self.label_10 = QtWidgets.QLabel(self.btab)
        self.label_10.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_10.setObjectName("label_10")
        self.gridLayout.addWidget(self.label_10, 9, 0, 1, 1)
        self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_5.setObjectName("horizontalLayout_5")
        self.adddate = DateTimeEdit(self.btab)
        self.adddate.setCalendarPopup(True)
        self.adddate.setObjectName("adddate")
        self.horizontalLayout_5.addWidget(self.adddate)
        self.clear_adddate_button = QtWidgets.QToolButton(self.btab)
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(I("trash.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.clear_adddate_button.setIcon(icon2)
        self.clear_adddate_button.setObjectName("clear_adddate_button")
        self.horizontalLayout_5.addWidget(self.clear_adddate_button)
        self.gridLayout.addLayout(self.horizontalLayout_5, 9, 1, 1, 1)
        self.apply_adddate = QtWidgets.QCheckBox(self.btab)
        self.apply_adddate.setObjectName("apply_adddate")
        self.gridLayout.addWidget(self.apply_adddate, 9, 2, 1, 1)
        self.label_9 = QtWidgets.QLabel(self.btab)
        self.label_9.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_9.setObjectName("label_9")
        self.gridLayout.addWidget(self.label_9, 10, 0, 1, 1)
        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
        self.pubdate = DateTimeEdit(self.btab)
        self.pubdate.setCalendarPopup(True)
        self.pubdate.setObjectName("pubdate")
        self.horizontalLayout_4.addWidget(self.pubdate)
        self.clear_pubdate_button = QtWidgets.QToolButton(self.btab)
        self.clear_pubdate_button.setIcon(icon2)
        self.clear_pubdate_button.setObjectName("clear_pubdate_button")
        self.horizontalLayout_4.addWidget(self.clear_pubdate_button)
        self.gridLayout.addLayout(self.horizontalLayout_4, 10, 1, 1, 1)
        self.apply_pubdate = QtWidgets.QCheckBox(self.btab)
        self.apply_pubdate.setObjectName("apply_pubdate")
        self.gridLayout.addWidget(self.apply_pubdate, 10, 2, 1, 1)
        self.label_11 = QtWidgets.QLabel(self.btab)
        self.label_11.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_11.setObjectName("label_11")
        self.gridLayout.addWidget(self.label_11, 11, 0, 1, 1)
        self.languages = LanguagesEdit(self.btab)
        self.languages.setObjectName("languages")
        self.gridLayout.addWidget(self.languages, 11, 1, 1, 1)
        self.clear_languages = QtWidgets.QCheckBox(self.btab)
        self.clear_languages.setObjectName("clear_languages")
        self.gridLayout.addWidget(self.clear_languages, 11, 2, 1, 1)
        self.verticalLayout_4.addLayout(self.gridLayout)
        spacerItem = QtWidgets.QSpacerItem(17, 13, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
        self.verticalLayout_4.addItem(spacerItem)
        self.gridLayout_2 = QtWidgets.QGridLayout()
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.remove_conversion_settings = QtWidgets.QCheckBox(self.btab)
        self.remove_conversion_settings.setObjectName("remove_conversion_settings")
        self.gridLayout_2.addWidget(self.remove_conversion_settings, 0, 0, 1, 2)
        self.restore_original = QtWidgets.QCheckBox(self.btab)
        self.restore_original.setObjectName("restore_original")
        self.gridLayout_2.addWidget(self.restore_original, 0, 2, 1, 1)
        self.change_title_to_title_case = QtWidgets.QCheckBox(self.btab)
        self.change_title_to_title_case.setObjectName("change_title_to_title_case")
        self.gridLayout_2.addWidget(self.change_title_to_title_case, 1, 0, 1, 1)
        self.casing_algorithm = QtWidgets.QComboBox(self.btab)
        self.casing_algorithm.setMinimumSize(QtCore.QSize(150, 0))
        self.casing_algorithm.setObjectName("casing_algorithm")
        self.gridLayout_2.addWidget(self.casing_algorithm, 1, 1, 1, 1)
        self.update_title_sort = QtWidgets.QCheckBox(self.btab)
        self.update_title_sort.setObjectName("update_title_sort")
        self.gridLayout_2.addWidget(self.update_title_sort, 1, 2, 1, 1)
        self.verticalLayout_4.addLayout(self.gridLayout_2)
        self.read_file_metadata = QtWidgets.QCheckBox(self.btab)
        self.read_file_metadata.setObjectName("read_file_metadata")
        self.verticalLayout_4.addWidget(self.read_file_metadata)
        self.groupBox = QtWidgets.QGroupBox(self.btab)
        self.groupBox.setObjectName("groupBox")
        self.horizontalLayout_9 = QtWidgets.QHBoxLayout(self.groupBox)
        self.horizontalLayout_9.setObjectName("horizontalLayout_9")
        self.cover_generate = QtWidgets.QRadioButton(self.groupBox)
        self.cover_generate.setObjectName("cover_generate")
        self.horizontalLayout_9.addWidget(self.cover_generate)
        self.cover_remove = QtWidgets.QRadioButton(self.groupBox)
        self.cover_remove.setObjectName("cover_remove")
        self.horizontalLayout_9.addWidget(self.cover_remove)
        self.cover_trim = QtWidgets.QRadioButton(self.groupBox)
        self.cover_trim.setObjectName("cover_trim")
        self.horizontalLayout_9.addWidget(self.cover_trim)
        self.cover_from_fmt = QtWidgets.QRadioButton(self.groupBox)
        self.cover_from_fmt.setObjectName("cover_from_fmt")
        self.horizontalLayout_9.addWidget(self.cover_from_fmt)
        self.cover_clone = QtWidgets.QRadioButton(self.groupBox)
        self.cover_clone.setObjectName("cover_clone")
        self.horizontalLayout_9.addWidget(self.cover_clone)
        self.verticalLayout_4.addWidget(self.groupBox)
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.compress_cover_images = QtWidgets.QCheckBox(self.btab)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.compress_cover_images.sizePolicy().hasHeightForWidth())
        self.compress_cover_images.setSizePolicy(sizePolicy)
        self.compress_cover_images.setObjectName("compress_cover_images")
        self.horizontalLayout_3.addWidget(self.compress_cover_images)
        self.compress_quality = QtWidgets.QSpinBox(self.btab)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.compress_quality.sizePolicy().hasHeightForWidth())
        self.compress_quality.setSizePolicy(sizePolicy)
        self.compress_quality.setMinimum(10)
        self.compress_quality.setMaximum(100)
        self.compress_quality.setProperty("value", 100)
        self.compress_quality.setObjectName("compress_quality")
        self.horizontalLayout_3.addWidget(self.compress_quality)
        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_3.addItem(spacerItem1)
        self.verticalLayout_4.addLayout(self.horizontalLayout_3)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.button_config_cover_gen = QtWidgets.QPushButton(self.btab)
        self.button_config_cover_gen.setObjectName("button_config_cover_gen")
        self.horizontalLayout.addWidget(self.button_config_cover_gen)
        self.comments_button = QtWidgets.QPushButton(self.btab)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.comments_button.sizePolicy().hasHeightForWidth())
        self.comments_button.setSizePolicy(sizePolicy)
        self.comments_button.setObjectName("comments_button")
        self.horizontalLayout.addWidget(self.comments_button)
        spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem2)
        self.verticalLayout_4.addLayout(self.horizontalLayout)
        spacerItem3 = QtWidgets.QSpacerItem(17, 17, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.verticalLayout_4.addItem(spacerItem3)
        self.scrollArea1.setWidget(self.btab)
        self.central_widget.addTab(self.scrollArea1, "")
        self.scrollArea2 = QtWidgets.QScrollArea()
        self.scrollArea2.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.scrollArea2.setWidgetResizable(True)
        self.scrollArea2.setObjectName("scrollArea2")
        self.tab = QtWidgets.QWidget()
        self.tab.setGeometry(QtCore.QRect(0, 0, 100, 30))
        self.tab.setObjectName("tab")
        self.scrollArea2.setWidget(self.tab)
        self.central_widget.addTab(self.scrollArea2, "")
        self.scrollArea3 = QtWidgets.QScrollArea()
        self.scrollArea3.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.scrollArea3.setWidgetResizable(True)
        self.scrollArea3.setObjectName("scrollArea3")
        self.tabWidgetPage3 = QtWidgets.QWidget()
        self.tabWidgetPage3.setGeometry(QtCore.QRect(0, 0, 777, 388))
        self.tabWidgetPage3.setObjectName("tabWidgetPage3")
        self.vargrid = QtWidgets.QGridLayout(self.tabWidgetPage3)
        self.vargrid.setSizeConstraint(QtWidgets.QLayout.SetMinimumSize)
        self.vargrid.setObjectName("vargrid")
        self.s_r_heading = QtWidgets.QLabel(self.tabWidgetPage3)
        self.s_r_heading.setWordWrap(True)
        self.s_r_heading.setOpenExternalLinks(True)
        self.s_r_heading.setObjectName("s_r_heading")
        self.vargrid.addWidget(self.s_r_heading, 0, 0, 1, 4)
        self.filler = QtWidgets.QLabel(self.tabWidgetPage3)
        self.filler.setText("")
        self.filler.setObjectName("filler")
        self.vargrid.addWidget(self.filler, 1, 0, 1, 1)
        self.line = QtWidgets.QFrame(self.tabWidgetPage3)
        self.line.setFrameShape(QtWidgets.QFrame.HLine)
        self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line.setObjectName("line")
        self.vargrid.addWidget(self.line, 2, 0, 1, 3)
        self.xlabel_22 = QtWidgets.QLabel(self.tabWidgetPage3)
        self.xlabel_22.setObjectName("xlabel_22")
        self.vargrid.addWidget(self.xlabel_22, 3, 0, 1, 1)
        self.query_field = QtWidgets.QComboBox(self.tabWidgetPage3)
        self.query_field.setObjectName("query_field")
        self.vargrid.addWidget(self.query_field, 3, 1, 1, 1)
        self.horizontalLayout_6 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
        spacerItem4 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_6.addItem(spacerItem4)
        self.save_button = QtWidgets.QPushButton(self.tabWidgetPage3)
        self.save_button.setObjectName("save_button")
        self.horizontalLayout_6.addWidget(self.save_button)
        self.remove_button = QtWidgets.QPushButton(self.tabWidgetPage3)
        self.remove_button.setObjectName("remove_button")
        self.horizontalLayout_6.addWidget(self.remove_button)
        spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_6.addItem(spacerItem5)
        self.vargrid.addLayout(self.horizontalLayout_6, 3, 2, 1, 1)
        self.xlabel_21 = QtWidgets.QLabel(self.tabWidgetPage3)
        self.xlabel_21.setObjectName("xlabel_21")
        self.vargrid.addWidget(self.xlabel_21, 4, 0, 1, 1)
        self.search_field = QtWidgets.QComboBox(self.tabWidgetPage3)
        self.search_field.setObjectName("search_field")
        self.vargrid.addWidget(self.search_field, 4, 1, 1, 1)
        self.HLayout_4 = QtWidgets.QHBoxLayout()
        self.HLayout_4.setObjectName("HLayout_4")
        self.xlabel_24 = QtWidgets.QLabel(self.tabWidgetPage3)
        self.xlabel_24.setObjectName("xlabel_24")
        self.HLayout_4.addWidget(self.xlabel_24)
        self.search_mode = QtWidgets.QComboBox(self.tabWidgetPage3)
        self.search_mode.setObjectName("search_mode")
        self.HLayout_4.addWidget(self.search_mode)
        spacerItem6 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.HLayout_4.addItem(spacerItem6)
        self.vargrid.addLayout(self.HLayout_4, 4, 2, 1, 1)
        self.s_r_src_ident_label = QtWidgets.QLabel(self.tabWidgetPage3)
        self.s_r_src_ident_label.setObjectName("s_r_src_ident_label")
        self.vargrid.addWidget(self.s_r_src_ident_label, 5, 0, 1, 1)
        self.s_r_src_ident = QtWidgets.QComboBox(self.tabWidgetPage3)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(100)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.s_r_src_ident.sizePolicy().hasHeightForWidth())
        self.s_r_src_ident.setSizePolicy(sizePolicy)
        self.s_r_src_ident.setObjectName("s_r_src_ident")
        self.vargrid.addWidget(self.s_r_src_ident, 5, 1, 1, 1)
        self.template_label = QtWidgets.QLabel(self.tabWidgetPage3)
        self.template_label.setObjectName("template_label")
        self.vargrid.addWidget(self.template_label, 5, 0, 1, 1)
        self.s_r_template = HistoryLineEdit(self.tabWidgetPage3)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(100)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.s_r_template.sizePolicy().hasHeightForWidth())
        self.s_r_template.setSizePolicy(sizePolicy)
        self.s_r_template.setObjectName("s_r_template")
        self.vargrid.addWidget(self.s_r_template, 5, 1, 1, 1)
        self.xlabel_2 = QtWidgets.QLabel(self.tabWidgetPage3)
        self.xlabel_2.setObjectName("xlabel_2")
        self.vargrid.addWidget(self.xlabel_2, 6, 0, 1, 1)
        self.search_for = HistoryLineEdit(self.tabWidgetPage3)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(100)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.search_for.sizePolicy().hasHeightForWidth())
        self.search_for.setSizePolicy(sizePolicy)
        self.search_for.setObjectName("search_for")
        self.vargrid.addWidget(self.search_for, 6, 1, 1, 1)
        self.case_sensitive = QtWidgets.QCheckBox(self.tabWidgetPage3)
        self.case_sensitive.setChecked(True)
        self.case_sensitive.setObjectName("case_sensitive")
        self.vargrid.addWidget(self.case_sensitive, 6, 2, 1, 1)
        self.xlabel_4 = QtWidgets.QLabel(self.tabWidgetPage3)
        self.xlabel_4.setObjectName("xlabel_4")
        self.vargrid.addWidget(self.xlabel_4, 7, 0, 1, 1)
        self.replace_with = HistoryLineEdit(self.tabWidgetPage3)
        self.replace_with.setObjectName("replace_with")
        self.vargrid.addWidget(self.replace_with, 7, 1, 1, 1)
        self.verticalLayout = QtWidgets.QHBoxLayout()
        self.verticalLayout.setObjectName("verticalLayout")
        self.label_41 = QtWidgets.QLabel(self.tabWidgetPage3)
        self.label_41.setObjectName("label_41")
        self.verticalLayout.addWidget(self.label_41)
        self.replace_func = QtWidgets.QComboBox(self.tabWidgetPage3)
        self.replace_func.setObjectName("replace_func")
        self.verticalLayout.addWidget(self.replace_func)
        spacerItem7 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.verticalLayout.addItem(spacerItem7)
        self.vargrid.addLayout(self.verticalLayout, 7, 2, 1, 1)
        self.destination_field_label = QtWidgets.QLabel(self.tabWidgetPage3)
        self.destination_field_label.setObjectName("destination_field_label")
        self.vargrid.addWidget(self.destination_field_label, 8, 0, 1, 1)
        self.destination_field = QtWidgets.QComboBox(self.tabWidgetPage3)
        self.destination_field.setObjectName("destination_field")
        self.vargrid.addWidget(self.destination_field, 8, 1, 1, 1)
        self.verticalLayout_2 = QtWidgets.QHBoxLayout()
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.replace_mode_label = QtWidgets.QLabel(self.tabWidgetPage3)
        self.replace_mode_label.setObjectName("replace_mode_label")
        self.verticalLayout_2.addWidget(self.replace_mode_label)
        self.replace_mode = QtWidgets.QComboBox(self.tabWidgetPage3)
        self.replace_mode.setObjectName("replace_mode")
        self.verticalLayout_2.addWidget(self.replace_mode)
        self.comma_separated = QtWidgets.QCheckBox(self.tabWidgetPage3)
        self.comma_separated.setChecked(True)
        self.comma_separated.setObjectName("comma_separated")
        self.verticalLayout_2.addWidget(self.comma_separated)
        spacerItem8 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.verticalLayout_2.addItem(spacerItem8)
        self.vargrid.addLayout(self.verticalLayout_2, 8, 2, 1, 1)
        self.s_r_dst_ident_label = QtWidgets.QLabel(self.tabWidgetPage3)
        self.s_r_dst_ident_label.setObjectName("s_r_dst_ident_label")
        self.vargrid.addWidget(self.s_r_dst_ident_label, 9, 0, 1, 1)
        self.s_r_dst_ident = QtWidgets.QLineEdit(self.tabWidgetPage3)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(100)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.s_r_dst_ident.sizePolicy().hasHeightForWidth())
        self.s_r_dst_ident.setSizePolicy(sizePolicy)
        self.s_r_dst_ident.setObjectName("s_r_dst_ident")
        self.vargrid.addWidget(self.s_r_dst_ident, 9, 1, 1, 1)
        self.horizontalLayout_21 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_21.setObjectName("horizontalLayout_21")
        spacerItem9 = QtWidgets.QSpacerItem(20, 0, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_21.addItem(spacerItem9)
        self.xlabel_412 = QtWidgets.QLabel(self.tabWidgetPage3)
        self.xlabel_412.setObjectName("xlabel_412")
        self.horizontalLayout_21.addWidget(self.xlabel_412)
        self.results_count = QtWidgets.QSpinBox(self.tabWidgetPage3)
        self.results_count.setEnabled(True)
        self.results_count.setMinimum(1)
        self.results_count.setMaximum(999)
        self.results_count.setProperty("value", 999)
        self.results_count.setObjectName("results_count")
        self.horizontalLayout_21.addWidget(self.results_count)
        self.xlabel_413 = QtWidgets.QLabel(self.tabWidgetPage3)
        self.xlabel_413.setObjectName("xlabel_413")
        self.horizontalLayout_21.addWidget(self.xlabel_413)
        self.starting_from = QtWidgets.QSpinBox(self.tabWidgetPage3)
        self.starting_from.setEnabled(True)
        self.starting_from.setMinimum(1)
        self.starting_from.setMaximum(999)
        self.starting_from.setProperty("value", 1)
        self.starting_from.setObjectName("starting_from")
        self.horizontalLayout_21.addWidget(self.starting_from)
        self.xlabel_41 = QtWidgets.QLabel(self.tabWidgetPage3)
        self.xlabel_41.setObjectName("xlabel_41")
        self.horizontalLayout_21.addWidget(self.xlabel_41)
        self.multiple_separator = QtWidgets.QLineEdit(self.tabWidgetPage3)
        self.multiple_separator.setObjectName("multiple_separator")
        self.horizontalLayout_21.addWidget(self.multiple_separator)
        self.vargrid.addLayout(self.horizontalLayout_21, 10, 1, 1, 2)
        self.scrollArea11 = QtWidgets.QScrollArea(self.tabWidgetPage3)
        self.scrollArea11.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.scrollArea11.setWidgetResizable(True)
        self.scrollArea11.setObjectName("scrollArea11")
        self.gridLayoutWidget_2 = QtWidgets.QWidget()
        self.gridLayoutWidget_2.setGeometry(QtCore.QRect(0, 0, 745, 70))
        self.gridLayoutWidget_2.setObjectName("gridLayoutWidget_2")
        self.testgrid = QtWidgets.QGridLayout(self.gridLayoutWidget_2)
        self.testgrid.setObjectName("testgrid")
        self.xlabel_3 = QtWidgets.QLabel(self.gridLayoutWidget_2)
        self.xlabel_3.setObjectName("xlabel_3")
        self.testgrid.addWidget(self.xlabel_3, 7, 1, 1, 1)
        self.xlabel_5 = QtWidgets.QLabel(self.gridLayoutWidget_2)
        self.xlabel_5.setObjectName("xlabel_5")
        self.testgrid.addWidget(self.xlabel_5, 7, 2, 1, 1)
        self.label_31 = QtWidgets.QLabel(self.gridLayoutWidget_2)
        self.label_31.setObjectName("label_31")
        self.testgrid.addWidget(self.label_31, 8, 0, 1, 1)
        self.test_text = HistoryLineEdit(self.gridLayoutWidget_2)
        self.test_text.setObjectName("test_text")
        self.testgrid.addWidget(self.test_text, 8, 1, 1, 1)
        self.test_result = QtWidgets.QLineEdit(self.gridLayoutWidget_2)
        self.test_result.setObjectName("test_result")
        self.testgrid.addWidget(self.test_result, 8, 2, 1, 1)
        spacerItem10 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.testgrid.addItem(spacerItem10, 25, 0, 1, 2)
        self.scrollArea11.setWidget(self.gridLayoutWidget_2)
        self.vargrid.addWidget(self.scrollArea11, 11, 0, 1, 4)
        self.scrollArea3.setWidget(self.tabWidgetPage3)
        self.central_widget.addTab(self.scrollArea3, "")
        self.verticalLayout_3.addWidget(self.central_widget)
        self.horizontalLayout_10 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_10.setObjectName("horizontalLayout_10")
        self.refresh_book_list = QtWidgets.QCheckBox(MetadataBulkDialog)
        self.refresh_book_list.setObjectName("refresh_book_list")
        self.horizontalLayout_10.addWidget(self.refresh_book_list)
        spacerItem11 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_10.addItem(spacerItem11)
        self.button_box = QtWidgets.QDialogButtonBox(MetadataBulkDialog)
        self.button_box.setOrientation(QtCore.Qt.Horizontal)
        self.button_box.setStandardButtons(QtWidgets.QDialogButtonBox.Apply|QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
        self.button_box.setObjectName("button_box")
        self.horizontalLayout_10.addWidget(self.button_box)
        self.verticalLayout_3.addLayout(self.horizontalLayout_10)
        self.label_2.setBuddy(self.authors)
        self.label_8.setBuddy(self.author_sort)
        self.label_6.setBuddy(self.rating)
        self.label_3.setBuddy(self.publisher)
        self.label_4.setBuddy(self.tags)
        self.label.setBuddy(self.remove_tags)
        self.label_7.setBuddy(self.series)
        self.label_10.setBuddy(self.adddate)
        self.label_9.setBuddy(self.pubdate)
        self.label_11.setBuddy(self.languages)
        self.xlabel_22.setBuddy(self.query_field)
        self.xlabel_21.setBuddy(self.search_field)
        self.xlabel_24.setBuddy(self.search_mode)
        self.s_r_src_ident_label.setBuddy(self.s_r_src_ident)
        self.template_label.setBuddy(self.s_r_template)
        self.xlabel_2.setBuddy(self.search_for)
        self.xlabel_4.setBuddy(self.replace_with)
        self.label_41.setBuddy(self.replace_func)
        self.destination_field_label.setBuddy(self.destination_field)
        self.replace_mode_label.setBuddy(self.replace_mode)
        self.s_r_dst_ident_label.setBuddy(self.s_r_dst_ident)
        self.xlabel_412.setBuddy(self.results_count)
        self.xlabel_413.setBuddy(self.starting_from)
        self.xlabel_41.setBuddy(self.multiple_separator)
        self.label_31.setBuddy(self.test_text)

        self.retranslateUi(MetadataBulkDialog)
        self.central_widget.setCurrentIndex(0)
        self.button_box.accepted.connect(MetadataBulkDialog.accept)
        self.button_box.rejected.connect(MetadataBulkDialog.reject)
        QtCore.QMetaObject.connectSlotsByName(MetadataBulkDialog)
        MetadataBulkDialog.setTabOrder(self.central_widget, self.authors)
        MetadataBulkDialog.setTabOrder(self.authors, self.auto_author_sort)
        MetadataBulkDialog.setTabOrder(self.auto_author_sort, self.swap_title_and_author)
        MetadataBulkDialog.setTabOrder(self.swap_title_and_author, self.author_sort)
        MetadataBulkDialog.setTabOrder(self.author_sort, self.rating)
        MetadataBulkDialog.setTabOrder(self.rating, self.apply_rating)
        MetadataBulkDialog.setTabOrder(self.apply_rating, self.publisher)
        MetadataBulkDialog.setTabOrder(self.publisher, self.clear_pub)
        MetadataBulkDialog.setTabOrder(self.clear_pub, self.tags)
        MetadataBulkDialog.setTabOrder(self.tags, self.tag_editor_button)
        MetadataBulkDialog.setTabOrder(self.tag_editor_button, self.remove_tags)
        MetadataBulkDialog.setTabOrder(self.remove_tags, self.remove_all_tags)
        MetadataBulkDialog.setTabOrder(self.remove_all_tags, self.series)
        MetadataBulkDialog.setTabOrder(self.series, self.clear_series)
        MetadataBulkDialog.setTabOrder(self.clear_series, self.autonumber_series)
        MetadataBulkDialog.setTabOrder(self.autonumber_series, self.series_numbering_restarts)
        MetadataBulkDialog.setTabOrder(self.series_numbering_restarts, self.series_start_number)
        MetadataBulkDialog.setTabOrder(self.series_start_number, self.series_increment)
        MetadataBulkDialog.setTabOrder(self.series_increment, self.adddate)
        MetadataBulkDialog.setTabOrder(self.adddate, self.clear_adddate_button)
        MetadataBulkDialog.setTabOrder(self.clear_adddate_button, self.apply_adddate)
        MetadataBulkDialog.setTabOrder(self.apply_adddate, self.pubdate)
        MetadataBulkDialog.setTabOrder(self.pubdate, self.clear_pubdate_button)
        MetadataBulkDialog.setTabOrder(self.clear_pubdate_button, self.apply_pubdate)
        MetadataBulkDialog.setTabOrder(self.apply_pubdate, self.languages)
        MetadataBulkDialog.setTabOrder(self.languages, self.clear_languages)
        MetadataBulkDialog.setTabOrder(self.clear_languages, self.remove_conversion_settings)
        MetadataBulkDialog.setTabOrder(self.remove_conversion_settings, self.restore_original)
        MetadataBulkDialog.setTabOrder(self.restore_original, self.change_title_to_title_case)
        MetadataBulkDialog.setTabOrder(self.change_title_to_title_case, self.casing_algorithm)
        MetadataBulkDialog.setTabOrder(self.casing_algorithm, self.cover_generate)
        MetadataBulkDialog.setTabOrder(self.cover_generate, self.cover_remove)
        MetadataBulkDialog.setTabOrder(self.cover_remove, self.cover_trim)
        MetadataBulkDialog.setTabOrder(self.cover_trim, self.cover_from_fmt)
        MetadataBulkDialog.setTabOrder(self.cover_from_fmt, self.cover_clone)
        MetadataBulkDialog.setTabOrder(self.cover_clone, self.button_config_cover_gen)
        MetadataBulkDialog.setTabOrder(self.button_config_cover_gen, self.comments_button)
        MetadataBulkDialog.setTabOrder(self.comments_button, self.query_field)
        MetadataBulkDialog.setTabOrder(self.query_field, self.save_button)
        MetadataBulkDialog.setTabOrder(self.save_button, self.remove_button)
        MetadataBulkDialog.setTabOrder(self.remove_button, self.search_field)
        MetadataBulkDialog.setTabOrder(self.search_field, self.search_mode)
        MetadataBulkDialog.setTabOrder(self.search_mode, self.s_r_src_ident)
        MetadataBulkDialog.setTabOrder(self.s_r_src_ident, self.s_r_template)
        MetadataBulkDialog.setTabOrder(self.s_r_template, self.search_for)
        MetadataBulkDialog.setTabOrder(self.search_for, self.case_sensitive)
        MetadataBulkDialog.setTabOrder(self.case_sensitive, self.replace_with)
        MetadataBulkDialog.setTabOrder(self.replace_with, self.replace_func)
        MetadataBulkDialog.setTabOrder(self.replace_func, self.destination_field)
        MetadataBulkDialog.setTabOrder(self.destination_field, self.replace_mode)
        MetadataBulkDialog.setTabOrder(self.replace_mode, self.comma_separated)
        MetadataBulkDialog.setTabOrder(self.comma_separated, self.s_r_dst_ident)
        MetadataBulkDialog.setTabOrder(self.s_r_dst_ident, self.results_count)
        MetadataBulkDialog.setTabOrder(self.results_count, self.starting_from)
        MetadataBulkDialog.setTabOrder(self.starting_from, self.multiple_separator)
        MetadataBulkDialog.setTabOrder(self.multiple_separator, self.scrollArea11)
        MetadataBulkDialog.setTabOrder(self.scrollArea11, self.test_text)
        MetadataBulkDialog.setTabOrder(self.test_text, self.test_result)
        MetadataBulkDialog.setTabOrder(self.test_result, self.refresh_book_list)

    def retranslateUi(self, MetadataBulkDialog):

        MetadataBulkDialog.setWindowTitle(_("Edit meta information"))
        self.label_2.setText(_("&Author(s): "))
        self.auto_author_sort.setToolTip(_("This will cause the author sort field to be automatically updated\n"
" based on the authors field for each selected book. Note that if\n"
" you use the control above to set authors in bulk, the author sort\n"
" field is updated anyway, regardless of the value of this checkbox."))
        self.auto_author_sort.setText(_("A&utomatically set author sort"))
        self.swap_title_and_author.setText(_("S&wap title and author"))
        self.label_8.setText(_("Author s&ort: "))
        self.author_sort.setToolTip(_("Specify how the author(s) of this book should be sorted. For example Charles Dickens should be sorted as Dickens, Charles."))
        self.label_6.setText(_("&Rating:"))
        self.apply_rating.setText(_("&Apply rating"))
        self.label_3.setText(_("&Publisher: "))
        self.clear_pub.setToolTip(_("If checked, the publisher will be cleared"))
        self.clear_pub.setText(_("&Clear pub"))
        self.label_4.setText(_("Add ta&gs: "))
        self.tags.setToolTip(_("Tags categorize the book. This is particularly useful while searching. <br><br>They can be any words or phrases, separated by commas."))
        self.tag_editor_button.setToolTip(_("Open Tag editor"))
        self.tag_editor_button.setText(_("Open Tag editor"))
        self.label.setText(_("&Remove tags:"))
        self.remove_tags.setToolTip(_("Comma separated list of tags to remove from the books. "))
        self.remove_all_tags.setToolTip(_("Check this box to remove all tags from the books."))
        self.remove_all_tags.setText(_("Remove &all"))
        self.label_7.setText(_("Ser&ies:"))
        self.series.setToolTip(_("List of known series. You can add new series."))
        self.series.setWhatsThis(_("List of known series. You can add new series."))
        self.clear_series.setToolTip(_("If checked, the series will be cleared"))
        self.clear_series.setText(_("&Clear series"))
        self.autonumber_series.setToolTip(_("If not checked, the series number for the books will be set to 1.\n"
"If checked, selected books will be automatically numbered, in the order\n"
"you selected them. So if you selected Book A and then Book B,\n"
"Book A will have series number 1 and Book B series number 2."))
        self.autonumber_series.setText(_("&Automatically number books in this series"))
        self.series_numbering_restarts.setToolTip(_("Series will normally be renumbered from the highest number in the database\n"
"for that series. Checking this box will tell calibre to start numbering\n"
"from the value in the box"))
        self.series_numbering_restarts.setText(_("&Force numbers to start with:"))
        self.series_increment.setToolTip(_("The amount by which to increment the series number for successive books. Only applicable when using force series numbers."))
        self.series_increment.setPrefix(_("+ "))
        self.label_10.setText(_("&Date:"))
        self.adddate.setDisplayFormat("d MMM yyyy")
        self.clear_adddate_button.setText(_("..."))
        self.apply_adddate.setText(_("A&pply date"))
        self.label_9.setText(_("P&ublished:"))
        self.pubdate.setDisplayFormat("MMM yyyy")
        self.clear_pubdate_button.setToolTip(_("Clear published date"))
        self.clear_pubdate_button.setText(_("..."))
        self.apply_pubdate.setText(_("A&pply date"))
        self.label_11.setText(_("&Languages:"))
        self.clear_languages.setText(_("Remove &all"))
        self.remove_conversion_settings.setToolTip(_("Remove stored conversion settings for the selected books.\n"
"\n"
"Future conversion of these books will use the default settings."))
        self.remove_conversion_settings.setText(_("Remove &stored conversion settings for the selected books"))
        self.restore_original.setToolTip(_("When doing a same format to same format conversion,\n"
"for e.g., EPUB to EPUB, calibre saves the original EPUB\n"
" as ORIGINAL_EPUB. This option tells calibre to restore\n"
" the EPUB from ORIGINAL_EPUB. Useful if you did a bulk\n"
" conversion of a large number of books and something went wrong."))
        self.restore_original.setText(_("Restore pre conversion &originals, if available"))
        self.change_title_to_title_case.setToolTip(_("Force the title to be in title case. If both this and swap authors are checked,\n"
"title and author are swapped before the title case is set"))
        self.change_title_to_title_case.setText(_("Change title &case to:"))
        self.update_title_sort.setToolTip(_("Update title sort based on the current title. This will be applied only after other changes to title."))
        self.update_title_sort.setText(_("Update &title sort"))
        self.read_file_metadata.setToolTip(_("Set the metadata in calibre from the metadata in the e-book files associated with each book. Note that this does not change the cover, for that, use the separate option below."))
        self.read_file_metadata.setText(_("Set &metadata (except cover) from the e-book files"))
        self.groupBox.setTitle(_("Change &cover"))
        self.cover_generate.setText(_("&Generate default cover"))
        self.cover_remove.setText(_("&Remove cover"))
        self.cover_trim.setToolTip(_("Try to automatically detect and remove borders and extra space\n"
" from the edges of cover images. This can sometimes remove too\n"
" much, so use with care."))
        self.cover_trim.setText(_("&Trim cover (DANGEROUS)"))
        self.cover_from_fmt.setText(_("Set from &e-book files"))
        self.cover_clone.setToolTip(_("Set the covers of all selected books to be the same\n"
"as that of the first selected book."))
        self.cover_clone.setText(_("&Clone covers"))
        self.compress_cover_images.setToolTip(_("<p>Compress cover images, if the quality is set to 100 compression is lossless, otherwise it is lossy"))
        self.compress_cover_images.setText(_("Co&mpress cover images:"))
        self.compress_quality.setToolTip(_("<p>Cover image compression quality. If the quality is set to 100 compression is lossless, otherwise it is lossy"))
        self.button_config_cover_gen.setToolTip(_("Control how the default generated covers are created"))
        self.button_config_cover_gen.setText(_("Configure co&ver generation"))
        self.comments_button.setText(_("Set the co&mments for all selected books"))
        self.central_widget.setTabText(self.central_widget.indexOf(self.scrollArea1), _("&Basic metadata"))
        self.central_widget.setTabText(self.central_widget.indexOf(self.scrollArea2), _("&Custom metadata"))
        self.xlabel_22.setText(_("&Load search/replace:"))
        self.query_field.setToolTip(_("Select saved search/replace to load."))
        self.save_button.setToolTip(_("Save current search/replace"))
        self.save_button.setText(_("Sa&ve"))
        self.remove_button.setToolTip(_("Delete saved search/replace"))
        self.remove_button.setText(_("Delete"))
        self.xlabel_21.setText(_("Search &field:"))
        self.search_field.setToolTip(_("The name of the field that you want to search"))
        self.xlabel_24.setText(_("Search &mode:"))
        self.search_mode.setToolTip(_("Choose whether to use basic text matching or advanced regular expression matching"))
        self.s_r_src_ident_label.setText(_("&Identifier type:"))
        self.s_r_src_ident.setToolTip(_("Choose which identifier type to operate upon"))
        self.template_label.setText(_("&Template:"))
        self.s_r_template.setToolTip(_("Enter a template to be used as the source for the search/replace"))
        self.xlabel_2.setText(_("&Search for:"))
        self.search_for.setToolTip(_("Enter what you are looking for, either plain text or a regular expression, depending on the mode"))
        self.case_sensitive.setToolTip(_("Check this box if the search string must match exactly upper and lower case. Uncheck it if case is to be ignored"))
        self.case_sensitive.setText(_("Cas&e sensitive"))
        self.xlabel_4.setText(_("&Replace with:"))
        self.replace_with.setToolTip(_("The replacement text. The matched search text will be replaced with this string"))
        self.label_41.setText(_("&Apply function after replace:"))
        self.replace_func.setToolTip(_("Specify how the text is to be processed after matching and replacement. In character mode, the entire\n"
"field is processed. In regular expression mode, only the matched text is processed"))
        self.destination_field_label.setText(_("&Destination field:"))
        self.destination_field.setToolTip(_("The field that the text will be put into after all replacements.\n"
"If blank, the source field is used if the field is modifiable"))
        self.replace_mode_label.setText(_("M&ode:"))
        self.replace_mode.setToolTip(_("Specify how the text should be copied into the destination."))
        self.comma_separated.setToolTip(_("Specifies whether result items should be split into multiple values or\n"
"left as single values. This option has the most effect when the source field is\n"
"not multiple and the destination field is multiple"))
        self.comma_separated.setText(_("Split &result"))
        self.s_r_dst_ident_label.setText(_("Identifier type:"))
        self.s_r_dst_ident.setToolTip(_("<p>Choose which identifier type to operate upon. When the\n"
"              source field is something other than \'identifiers\' you can enter\n"
"              a * if you want to replace the entire set of identifiers with\n"
"              the result of the search/replace.</p>"))
        self.xlabel_412.setText(_("For multiple-valued fields, sho&w"))
        self.xlabel_413.setText(_("val&ues starting at"))
        self.xlabel_41.setText(_("with values separated b&y"))
        self.multiple_separator.setToolTip(_("Used when displaying test results to separate values in multiple-valued fields"))
        self.xlabel_3.setText(_("Test text"))
        self.xlabel_5.setText(_("Test result"))
        self.label_31.setText(_("Your &test:"))
        self.central_widget.setTabText(self.central_widget.indexOf(self.scrollArea3), _("&Search and replace"))
        self.refresh_book_list.setToolTip(_("If enabled, the book list will be re-sorted and any existing\n"
"search or Virtual library will be refreshed after the edit\n"
"is completed. This can be slow on large libraries."))
        self.refresh_book_list.setText(_("&Refresh book list after edit"))
class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName(_fromUtf8("Form"))
        Form.resize(610, 553)
        self.verticalLayout = QtGui.QVBoxLayout(Form)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
        self.label = QtGui.QLabel(Form)
        self.label.setObjectName(_fromUtf8("label"))
        self.horizontalLayout.addWidget(self.label)
        self.adv_search_builder = QtGui.QToolButton(Form)
        self.adv_search_builder.setObjectName(_fromUtf8("adv_search_builder"))
        self.horizontalLayout.addWidget(self.adv_search_builder)
        self.query = HistoryLineEdit(Form)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.query.sizePolicy().hasHeightForWidth())
        self.query.setSizePolicy(sizePolicy)
        self.query.setObjectName(_fromUtf8("query"))
        self.horizontalLayout.addWidget(self.query)
        self.search = QtGui.QPushButton(Form)
        self.search.setObjectName(_fromUtf8("search"))
        self.horizontalLayout.addWidget(self.search)
        self.verticalLayout.addLayout(self.horizontalLayout)
        self.results_view = ResultsView(Form)
        self.results_view.setAlternatingRowColors(True)
        self.results_view.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)
        self.results_view.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
        self.results_view.setRootIsDecorated(False)
        self.results_view.setUniformRowHeights(True)
        self.results_view.setItemsExpandable(False)
        self.results_view.setSortingEnabled(True)
        self.results_view.setExpandsOnDoubleClick(False)
        self.results_view.setObjectName(_fromUtf8("results_view"))
        self.results_view.header().setStretchLastSection(False)
        self.verticalLayout.addWidget(self.results_view)
        self.horizontalLayout_2 = QtGui.QHBoxLayout()
        self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
        self.label_2 = QtGui.QLabel(Form)
        self.label_2.setObjectName(_fromUtf8("label_2"))
        self.horizontalLayout_2.addWidget(self.label_2)
        self.enable_all = QtGui.QPushButton(Form)
        self.enable_all.setObjectName(_fromUtf8("enable_all"))
        self.horizontalLayout_2.addWidget(self.enable_all)
        self.enable_none = QtGui.QPushButton(Form)
        self.enable_none.setObjectName(_fromUtf8("enable_none"))
        self.horizontalLayout_2.addWidget(self.enable_none)
        self.enable_invert = QtGui.QPushButton(Form)
        self.enable_invert.setObjectName(_fromUtf8("enable_invert"))
        self.horizontalLayout_2.addWidget(self.enable_invert)
        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_2.addItem(spacerItem)
        self.verticalLayout.addLayout(self.horizontalLayout_2)

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        Form.setWindowTitle(_("Form"))
        self.label.setText(_("Query:"))
        self.adv_search_builder.setText(_("..."))
        self.search.setText(_("Search"))
        self.label_2.setText(_("Enable"))
        self.enable_all.setText(_("All"))
        self.enable_none.setText(_("None"))
        self.enable_invert.setText(_("Invert"))
Beispiel #8
0
class Ui_MatchBooks(object):
    def setupUi(self, MatchBooks):
        MatchBooks.setObjectName("MatchBooks")
        MatchBooks.resize(751, 342)
        sizePolicy = QtWidgets.QSizePolicy(
            QtWidgets.QSizePolicy.Expanding,
            QtWidgets.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            MatchBooks.sizePolicy().hasHeightForWidth())
        MatchBooks.setSizePolicy(sizePolicy)
        self.gridlayout = QtWidgets.QGridLayout(MatchBooks)
        self.gridlayout.setObjectName("gridlayout")
        self.search_text = HistoryLineEdit(MatchBooks)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(100)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.search_text.sizePolicy().hasHeightForWidth())
        self.search_text.setSizePolicy(sizePolicy)
        self.search_text.setMinimumSize(QtCore.QSize(350, 0))
        self.search_text.setSizeAdjustPolicy(
            QtWidgets.QComboBox.AdjustToMinimumContentsLengthWithIcon)
        self.search_text.setMinimumContentsLength(30)
        self.search_text.setObjectName("search_text")
        self.gridlayout.addWidget(self.search_text, 0, 0, 1, 1)
        self.search_button = QtWidgets.QPushButton(MatchBooks)
        self.search_button.setObjectName("search_button")
        self.gridlayout.addWidget(self.search_button, 0, 1, 1, 1)
        self.label = QtWidgets.QLabel(MatchBooks)
        self.label.setObjectName("label")
        self.gridlayout.addWidget(self.label, 1, 0, 1, 2)
        self.books_table = QtWidgets.QTableWidget(MatchBooks)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(4)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.books_table.sizePolicy().hasHeightForWidth())
        self.books_table.setSizePolicy(sizePolicy)
        self.books_table.setRowCount(0)
        self.books_table.setColumnCount(0)
        self.books_table.setObjectName("books_table")
        self.gridlayout.addWidget(self.books_table, 2, 0, 1, 2)
        self.label1 = QtWidgets.QLabel(MatchBooks)
        self.label1.setWordWrap(True)
        self.label1.setObjectName("label1")
        self.gridlayout.addWidget(self.label1, 3, 0, 1, 2)
        self.hboxlayout = QtWidgets.QHBoxLayout()
        self.hboxlayout.setObjectName("hboxlayout")
        spacerItem = QtWidgets.QSpacerItem(0, 0,
                                           QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Minimum)
        self.hboxlayout.addItem(spacerItem)
        self.buttonBox = QtWidgets.QDialogButtonBox(MatchBooks)
        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel
                                          | QtWidgets.QDialogButtonBox.Ok)
        self.buttonBox.setCenterButtons(False)
        self.buttonBox.setObjectName("buttonBox")
        self.hboxlayout.addWidget(self.buttonBox)
        self.gridlayout.addLayout(self.hboxlayout, 4, 0, 1, 2)

        self.retranslateUi(MatchBooks)
        self.buttonBox.rejected.connect(MatchBooks.reject)
        QtCore.QMetaObject.connectSlotsByName(MatchBooks)

    def retranslateUi(self, MatchBooks):

        MatchBooks.setWindowTitle(_("Match books"))
        self.search_button.setText(_("Search"))
        self.label.setText(_("Do a search to find the book you want to match"))
        self.label1.setText(
            _("<p>Remember to update metadata on the device when you are done (Right click the device icon and select <i>Update cached metadata</i>)</p>"
              ))
Beispiel #9
0
class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName(_fromUtf8("Dialog"))
        Dialog.resize(872, 610)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(_fromUtf8(I("store.png"))), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        Dialog.setWindowIcon(icon)
        Dialog.setSizeGripEnabled(True)
        self.verticalLayout_5 = QtGui.QVBoxLayout(Dialog)
        self.verticalLayout_5.setObjectName(_fromUtf8("verticalLayout_5"))
        self.top_layout = QtGui.QHBoxLayout()
        self.top_layout.setObjectName(_fromUtf8("top_layout"))
        self.label = QtGui.QLabel(Dialog)
        self.label.setObjectName(_fromUtf8("label"))
        self.top_layout.addWidget(self.label)
        self.adv_search_button = QtGui.QToolButton(Dialog)
        self.adv_search_button.setObjectName(_fromUtf8("adv_search_button"))
        self.top_layout.addWidget(self.adv_search_button)
        self.search_edit = HistoryLineEdit(Dialog)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.search_edit.sizePolicy().hasHeightForWidth())
        self.search_edit.setSizePolicy(sizePolicy)
        self.search_edit.setObjectName(_fromUtf8("search_edit"))
        self.top_layout.addWidget(self.search_edit)
        self.search = QtGui.QPushButton(Dialog)
        self.search.setObjectName(_fromUtf8("search"))
        self.top_layout.addWidget(self.search)
        self.verticalLayout_5.addLayout(self.top_layout)
        self.store_splitter = QtGui.QSplitter(Dialog)
        self.store_splitter.setOrientation(QtCore.Qt.Horizontal)
        self.store_splitter.setObjectName(_fromUtf8("store_splitter"))
        self.groupBox = QtGui.QGroupBox(self.store_splitter)
        self.groupBox.setObjectName(_fromUtf8("groupBox"))
        self.verticalLayout_2 = QtGui.QVBoxLayout(self.groupBox)
        self.verticalLayout_2.setSpacing(0)
        self.verticalLayout_2.setMargin(0)
        self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
        self.store_list = QtGui.QScrollArea(self.groupBox)
        self.store_list.setWidgetResizable(True)
        self.store_list.setObjectName(_fromUtf8("store_list"))
        self.scrollAreaWidgetContents = QtGui.QWidget()
        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 193, 127))
        self.scrollAreaWidgetContents.setObjectName(_fromUtf8("scrollAreaWidgetContents"))
        self.store_list.setWidget(self.scrollAreaWidgetContents)
        self.verticalLayout_2.addWidget(self.store_list)
        self.verticalLayout = QtGui.QVBoxLayout()
        self.verticalLayout.setSpacing(0)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.select_all_stores = QtGui.QPushButton(self.groupBox)
        self.select_all_stores.setObjectName(_fromUtf8("select_all_stores"))
        self.verticalLayout.addWidget(self.select_all_stores)
        self.select_invert_stores = QtGui.QPushButton(self.groupBox)
        self.select_invert_stores.setObjectName(_fromUtf8("select_invert_stores"))
        self.verticalLayout.addWidget(self.select_invert_stores)
        self.select_none_stores = QtGui.QPushButton(self.groupBox)
        self.select_none_stores.setObjectName(_fromUtf8("select_none_stores"))
        self.verticalLayout.addWidget(self.select_none_stores)
        self.verticalLayout_2.addLayout(self.verticalLayout)
        self.verticalLayoutWidget = QtGui.QWidget(self.store_splitter)
        self.verticalLayoutWidget.setObjectName(_fromUtf8("verticalLayoutWidget"))
        self.verticalLayout_4 = QtGui.QVBoxLayout(self.verticalLayoutWidget)
        self.verticalLayout_4.setMargin(0)
        self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4"))
        self.results_view = ResultsView(self.verticalLayoutWidget)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(1)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.results_view.sizePolicy().hasHeightForWidth())
        self.results_view.setSizePolicy(sizePolicy)
        self.results_view.setMinimumSize(QtCore.QSize(0, 0))
        self.results_view.setAlternatingRowColors(True)
        self.results_view.setIconSize(QtCore.QSize(32, 32))
        self.results_view.setRootIsDecorated(False)
        self.results_view.setUniformRowHeights(False)
        self.results_view.setItemsExpandable(False)
        self.results_view.setSortingEnabled(True)
        self.results_view.setExpandsOnDoubleClick(False)
        self.results_view.setObjectName(_fromUtf8("results_view"))
        self.results_view.header().setStretchLastSection(False)
        self.verticalLayout_4.addWidget(self.results_view)
        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
        self.configure = QtGui.QToolButton(self.verticalLayoutWidget)
        self.configure.setObjectName(_fromUtf8("configure"))
        self.horizontalLayout.addWidget(self.configure)
        self.open_external = QtGui.QCheckBox(self.verticalLayoutWidget)
        self.open_external.setObjectName(_fromUtf8("open_external"))
        self.horizontalLayout.addWidget(self.open_external)
        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem)
        self.verticalLayout_4.addLayout(self.horizontalLayout)
        self.verticalLayout_5.addWidget(self.store_splitter)
        self.bottom_layout = QtGui.QHBoxLayout()
        self.bottom_layout.setObjectName(_fromUtf8("bottom_layout"))
        self.label_2 = QtGui.QLabel(Dialog)
        self.label_2.setObjectName(_fromUtf8("label_2"))
        self.bottom_layout.addWidget(self.label_2)
        self.total = QtGui.QLabel(Dialog)
        self.total.setObjectName(_fromUtf8("total"))
        self.bottom_layout.addWidget(self.total)
        spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.bottom_layout.addItem(spacerItem1)
        self.close = QtGui.QPushButton(Dialog)
        self.close.setObjectName(_fromUtf8("close"))
        self.bottom_layout.addWidget(self.close)
        self.verticalLayout_5.addLayout(self.bottom_layout)

        self.retranslateUi(Dialog)
        QtCore.QObject.connect(self.close, QtCore.SIGNAL(_fromUtf8("clicked()")), Dialog.accept)
        QtCore.QMetaObject.connectSlotsByName(Dialog)
        Dialog.setTabOrder(self.search_edit, self.search)
        Dialog.setTabOrder(self.search, self.results_view)
        Dialog.setTabOrder(self.results_view, self.store_list)
        Dialog.setTabOrder(self.store_list, self.select_all_stores)
        Dialog.setTabOrder(self.select_all_stores, self.select_invert_stores)
        Dialog.setTabOrder(self.select_invert_stores, self.select_none_stores)
        Dialog.setTabOrder(self.select_none_stores, self.configure)
        Dialog.setTabOrder(self.configure, self.open_external)
        Dialog.setTabOrder(self.open_external, self.close)
        Dialog.setTabOrder(self.close, self.adv_search_button)

    def retranslateUi(self, Dialog):
        Dialog.setWindowTitle(_("Get Books"))
        self.label.setText(_("Query:"))
        self.adv_search_button.setText(_("..."))
        self.search.setText(_("Search"))
        self.groupBox.setTitle(_("Stores"))
        self.select_all_stores.setText(_("All"))
        self.select_invert_stores.setText(_("Invert"))
        self.select_none_stores.setText(_("None"))
        self.configure.setText(_("..."))
        self.open_external.setToolTip(_("Open a selected book in the system\'s web browser"))
        self.open_external.setText(_("Open in &external browser"))
        self.label_2.setText(_("Books:"))
        self.total.setText(_("0"))
        self.close.setText(_("Close"))
Beispiel #10
0
class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(1035, 547)
        self.gridLayout = QtWidgets.QGridLayout(Form)
        self.gridLayout.setObjectName("gridLayout")
        self.tabWidget = ScrollingTabWidget(Form)
        self.tabWidget.setObjectName("tabWidget")
        self.tab = QtWidgets.QWidget()
        self.tab.setObjectName("tab")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.tab)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.label_4 = QtWidgets.QLabel(self.tab)
        self.label_4.setWordWrap(True)
        self.label_4.setObjectName("label_4")
        self.verticalLayout.addWidget(self.label_4)
        self.opt_read_file_metadata = QtWidgets.QCheckBox(self.tab)
        self.opt_read_file_metadata.setToolTip("")
        self.opt_read_file_metadata.setObjectName("opt_read_file_metadata")
        self.verticalLayout.addWidget(self.opt_read_file_metadata)
        self.opt_swap_author_names = QtWidgets.QCheckBox(self.tab)
        self.opt_swap_author_names.setObjectName("opt_swap_author_names")
        self.verticalLayout.addWidget(self.opt_swap_author_names)
        self.metadata_box = QtWidgets.QGroupBox(self.tab)
        self.metadata_box.setMinimumSize(QtCore.QSize(0, 100))
        self.metadata_box.setObjectName("metadata_box")
        self.verticalLayout.addWidget(self.metadata_box)
        spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.verticalLayout.addItem(spacerItem)
        self.tabWidget.addTab(self.tab, "")
        self.actions_tab = QtWidgets.QWidget()
        self.actions_tab.setObjectName("actions_tab")
        self.formLayout_2 = QtWidgets.QFormLayout(self.actions_tab)
        self.formLayout_2.setContentsMargins(0, 0, 0, 0)
        self.formLayout_2.setObjectName("formLayout_2")
        self.opt_mark_new_books = QtWidgets.QCheckBox(self.actions_tab)
        self.opt_mark_new_books.setObjectName("opt_mark_new_books")
        self.formLayout_2.setWidget(0, QtWidgets.QFormLayout.SpanningRole, self.opt_mark_new_books)
        self.line_2 = QtWidgets.QFrame(self.actions_tab)
        self.line_2.setFrameShape(QtWidgets.QFrame.HLine)
        self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_2.setObjectName("line_2")
        self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.SpanningRole, self.line_2)
        self.opt_preserve_date_on_ctl = QtWidgets.QCheckBox(self.actions_tab)
        self.opt_preserve_date_on_ctl.setObjectName("opt_preserve_date_on_ctl")
        self.formLayout_2.setWidget(2, QtWidgets.QFormLayout.SpanningRole, self.opt_preserve_date_on_ctl)
        self.opt_check_for_dupes_on_ctl = QtWidgets.QCheckBox(self.actions_tab)
        self.opt_check_for_dupes_on_ctl.setObjectName("opt_check_for_dupes_on_ctl")
        self.formLayout_2.setWidget(3, QtWidgets.QFormLayout.SpanningRole, self.opt_check_for_dupes_on_ctl)
        self.line = QtWidgets.QFrame(self.actions_tab)
        self.line.setFrameShape(QtWidgets.QFrame.HLine)
        self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line.setObjectName("line")
        self.formLayout_2.setWidget(4, QtWidgets.QFormLayout.SpanningRole, self.line)
        self.opt_manual_add_auto_convert = QtWidgets.QCheckBox(self.actions_tab)
        self.opt_manual_add_auto_convert.setObjectName("opt_manual_add_auto_convert")
        self.formLayout_2.setWidget(5, QtWidgets.QFormLayout.SpanningRole, self.opt_manual_add_auto_convert)
        self.opt_auto_convert_same_fmt = QtWidgets.QCheckBox(self.actions_tab)
        self.opt_auto_convert_same_fmt.setObjectName("opt_auto_convert_same_fmt")
        self.formLayout_2.setWidget(6, QtWidgets.QFormLayout.SpanningRole, self.opt_auto_convert_same_fmt)
        self.line_3 = QtWidgets.QFrame(self.actions_tab)
        self.line_3.setFrameShape(QtWidgets.QFrame.HLine)
        self.line_3.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_3.setObjectName("line_3")
        self.formLayout_2.setWidget(7, QtWidgets.QFormLayout.SpanningRole, self.line_3)
        self.opt_add_formats_to_existing = QtWidgets.QCheckBox(self.actions_tab)
        self.opt_add_formats_to_existing.setObjectName("opt_add_formats_to_existing")
        self.formLayout_2.setWidget(8, QtWidgets.QFormLayout.LabelRole, self.opt_add_formats_to_existing)
        self.opt_automerge = QtWidgets.QComboBox(self.actions_tab)
        self.opt_automerge.setObjectName("opt_automerge")
        self.formLayout_2.setWidget(8, QtWidgets.QFormLayout.FieldRole, self.opt_automerge)
        self.line_6 = QtWidgets.QFrame(self.actions_tab)
        self.line_6.setFrameShape(QtWidgets.QFrame.HLine)
        self.line_6.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_6.setObjectName("line_6")
        self.formLayout_2.setWidget(9, QtWidgets.QFormLayout.LabelRole, self.line_6)
        self.line_4 = QtWidgets.QFrame(self.actions_tab)
        self.line_4.setFrameShape(QtWidgets.QFrame.HLine)
        self.line_4.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_4.setObjectName("line_4")
        self.formLayout_2.setWidget(10, QtWidgets.QFormLayout.SpanningRole, self.line_4)
        self.label_230 = QtWidgets.QLabel(self.actions_tab)
        self.label_230.setObjectName("label_230")
        self.formLayout_2.setWidget(11, QtWidgets.QFormLayout.LabelRole, self.label_230)
        self.opt_new_book_tags = QtWidgets.QLineEdit(self.actions_tab)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.opt_new_book_tags.sizePolicy().hasHeightForWidth())
        self.opt_new_book_tags.setSizePolicy(sizePolicy)
        self.opt_new_book_tags.setObjectName("opt_new_book_tags")
        self.formLayout_2.setWidget(11, QtWidgets.QFormLayout.FieldRole, self.opt_new_book_tags)
        self.line_7 = QtWidgets.QFrame(self.actions_tab)
        self.line_7.setFrameShape(QtWidgets.QFrame.HLine)
        self.line_7.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_7.setObjectName("line_7")
        self.formLayout_2.setWidget(12, QtWidgets.QFormLayout.LabelRole, self.line_7)
        self.line_8 = QtWidgets.QFrame(self.actions_tab)
        self.line_8.setFrameShape(QtWidgets.QFrame.HLine)
        self.line_8.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_8.setObjectName("line_8")
        self.formLayout_2.setWidget(13, QtWidgets.QFormLayout.SpanningRole, self.line_8)
        self.label_5 = QtWidgets.QLabel(self.actions_tab)
        self.label_5.setObjectName("label_5")
        self.formLayout_2.setWidget(14, QtWidgets.QFormLayout.LabelRole, self.label_5)
        self.tag_map_rules_button = QtWidgets.QPushButton(self.actions_tab)
        self.tag_map_rules_button.setObjectName("tag_map_rules_button")
        self.formLayout_2.setWidget(14, QtWidgets.QFormLayout.FieldRole, self.tag_map_rules_button)
        self.line_5 = QtWidgets.QFrame(self.actions_tab)
        self.line_5.setFrameShape(QtWidgets.QFrame.HLine)
        self.line_5.setFrameShadow(QtWidgets.QFrame.Sunken)
        self.line_5.setObjectName("line_5")
        self.formLayout_2.setWidget(16, QtWidgets.QFormLayout.SpanningRole, self.line_5)
        self.label_6 = QtWidgets.QLabel(self.actions_tab)
        self.label_6.setObjectName("label_6")
        self.formLayout_2.setWidget(18, QtWidgets.QFormLayout.LabelRole, self.label_6)
        self.add_filter_rules_button = QtWidgets.QPushButton(self.actions_tab)
        self.add_filter_rules_button.setObjectName("add_filter_rules_button")
        self.formLayout_2.setWidget(18, QtWidgets.QFormLayout.FieldRole, self.add_filter_rules_button)
        self.label_7 = QtWidgets.QLabel(self.actions_tab)
        self.label_7.setObjectName("label_7")
        self.formLayout_2.setWidget(15, QtWidgets.QFormLayout.LabelRole, self.label_7)
        self.author_map_rules_button = QtWidgets.QPushButton(self.actions_tab)
        self.author_map_rules_button.setObjectName("author_map_rules_button")
        self.formLayout_2.setWidget(15, QtWidgets.QFormLayout.FieldRole, self.author_map_rules_button)
        self.tabWidget.addTab(self.actions_tab, "")
        self.tab_4 = QtWidgets.QWidget()
        self.tab_4.setObjectName("tab_4")
        self.gridLayout_3 = QtWidgets.QGridLayout(self.tab_4)
        self.gridLayout_3.setContentsMargins(0, 0, 0, 0)
        self.gridLayout_3.setObjectName("gridLayout_3")
        self.opt_auto_add_everything = QtWidgets.QCheckBox(self.tab_4)
        self.opt_auto_add_everything.setObjectName("opt_auto_add_everything")
        self.gridLayout_3.addWidget(self.opt_auto_add_everything, 5, 0, 1, 1)
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.opt_auto_add_path = HistoryLineEdit(self.tab_4)
        self.opt_auto_add_path.setClearButtonEnabled(True)
        self.opt_auto_add_path.setObjectName("opt_auto_add_path")
        self.horizontalLayout_2.addWidget(self.opt_auto_add_path)
        self.auto_add_browse_button = QtWidgets.QToolButton(self.tab_4)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(I("document_open.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.auto_add_browse_button.setIcon(icon)
        self.auto_add_browse_button.setObjectName("auto_add_browse_button")
        self.horizontalLayout_2.addWidget(self.auto_add_browse_button)
        self.gridLayout_3.addLayout(self.horizontalLayout_2, 1, 0, 1, 2)
        self.opt_auto_add_auto_convert = QtWidgets.QCheckBox(self.tab_4)
        self.opt_auto_add_auto_convert.setObjectName("opt_auto_add_auto_convert")
        self.gridLayout_3.addWidget(self.opt_auto_add_auto_convert, 4, 0, 1, 1)
        spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.gridLayout_3.addItem(spacerItem1, 7, 0, 1, 1)
        self.groupBox = QtWidgets.QGroupBox(self.tab_4)
        self.groupBox.setObjectName("groupBox")
        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.label_3 = QtWidgets.QLabel(self.groupBox)
        self.label_3.setWordWrap(True)
        self.label_3.setObjectName("label_3")
        self.verticalLayout_2.addWidget(self.label_3)
        self.opt_blocked_auto_formats = QtWidgets.QListWidget(self.groupBox)
        self.opt_blocked_auto_formats.setAlternatingRowColors(True)
        self.opt_blocked_auto_formats.setSelectionMode(QtWidgets.QAbstractItemView.NoSelection)
        self.opt_blocked_auto_formats.setObjectName("opt_blocked_auto_formats")
        self.verticalLayout_2.addWidget(self.opt_blocked_auto_formats)
        self.gridLayout_3.addWidget(self.groupBox, 6, 0, 1, 1)
        self.label = QtWidgets.QLabel(self.tab_4)
        self.label.setWordWrap(True)
        self.label.setObjectName("label")
        self.gridLayout_3.addWidget(self.label, 0, 0, 1, 2)
        self.label_2 = QtWidgets.QLabel(self.tab_4)
        self.label_2.setObjectName("label_2")
        self.gridLayout_3.addWidget(self.label_2, 2, 0, 1, 2)
        self.opt_auto_add_check_for_duplicates = QtWidgets.QCheckBox(self.tab_4)
        self.opt_auto_add_check_for_duplicates.setObjectName("opt_auto_add_check_for_duplicates")
        self.gridLayout_3.addWidget(self.opt_auto_add_check_for_duplicates, 3, 0, 1, 2)
        spacerItem2 = QtWidgets.QSpacerItem(272, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.gridLayout_3.addItem(spacerItem2, 6, 1, 1, 1)
        self.tabWidget.addTab(self.tab_4, "")
        self.gridLayout.addWidget(self.tabWidget, 0, 0, 1, 1)
        self.label_230.setBuddy(self.opt_new_book_tags)
        self.label_5.setBuddy(self.tag_map_rules_button)
        self.label_6.setBuddy(self.add_filter_rules_button)
        self.label_7.setBuddy(self.author_map_rules_button)
        self.label_3.setBuddy(self.opt_blocked_auto_formats)
        self.label.setBuddy(self.opt_auto_add_path)

        self.retranslateUi(Form)
        self.tabWidget.setCurrentIndex(2)
        self.opt_add_formats_to_existing.toggled['bool'].connect(self.opt_automerge.setEnabled)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):

        Form.setWindowTitle(_("Form"))
        self.label_4.setText(_("Here you can control how calibre will read metadata from the files you add to it. calibre can either read metadata from the contents of the file, or from the filename."))
        self.opt_read_file_metadata.setText(_("Read &metadata from file contents rather than file name"))
        self.opt_swap_author_names.setToolTip(_("Swap the first name and last name of the author. This affects only metadata read from file names."))
        self.opt_swap_author_names.setText(_("&Swap author first name and last name when reading author from filename"))
        self.metadata_box.setTitle(_("Configure metadata from file name"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _("Reading &metadata"))
        self.opt_mark_new_books.setText(_("&Mark newly added books"))
        self.opt_preserve_date_on_ctl.setText(_("When using the  \"&Copy to library\" action to copy books between libraries, preserve the date"))
        self.opt_check_for_dupes_on_ctl.setText(_("When using the \"Copy to library\" action check for &duplicates with the same title, author and language"))
        self.opt_manual_add_auto_convert.setText(_("Automatically &convert added books to the preferred output format"))
        self.opt_auto_convert_same_fmt.setToolTip(_("This will force an automatic conversion even if the file being added is the same format as the output format. For example, if you set your output format to EPUB and add an EPUB file, an EPUB to EPUB conversion will be run."))
        self.opt_auto_convert_same_fmt.setText(_("When auto-converting, convert even if the format being added is the &same as the output format"))
        self.opt_add_formats_to_existing.setToolTip(_("Auto-merge: If books with similar titles and authors are found, merge the incoming formats automatically into\n"
"existing book records. The box to the right controls what happens when an existing record already has\n"
"the incoming format. Note that this option also affects the Copy to library action.\n"
"\n"
"Title match ignores leading indefinite articles (\"the\", \"a\", \"an\"), punctuation, case, etc. Author match is exact."))
        self.opt_add_formats_to_existing.setText(_("&Auto-merge added books if they already exist:"))
        self.opt_automerge.setToolTip(_("Auto-merge: If books with similar titles and authors are found, merge the incoming formats (files) automatically into\n"
"existing book records. This box controls what happens when an existing record already has\n"
"the incoming format:\n"
"\n"
"Ignore duplicate incoming formats - means that existing formats in your calibre library will not be replaced\n"
"Overwrite existing duplicate formats - means that existing formats in your calibre library will be replaced\n"
"Create new record for each duplicate formats - means that a new book entry will be created for each duplicate formats\n"
"\n"
"Title matching ignores leading indefinite articles (\"the\", \"a\", \"an\"), punctuation, case, etc.\n"
"Author matching is exact."))
        self.label_230.setText(_("&Tags to apply when adding a book:"))
        self.opt_new_book_tags.setToolTip(_("A comma-separated list of tags that will be applied to books added to the library"))
        self.label_5.setText(_("Contro&l how tags are processed:"))
        self.tag_map_rules_button.setToolTip(_("Create rules that can filter or transform tags on added books automatically as soon as they are added. "))
        self.tag_map_rules_button.setText(_("&Rules to filter tags read from metadata"))
        self.label_6.setText(_("Control which files are added during bul&k imports:"))
        self.add_filter_rules_button.setToolTip(_("<p>You can specify rules to add/ignore files here. These will be used when recursively adding books from folders."))
        self.add_filter_rules_button.setText(_("Rules to filter added &files"))
        self.label_7.setText(_("Control how auth&ors are processed:"))
        self.author_map_rules_button.setText(_("Rules to manipulate a&uthor names"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.actions_tab), _("Adding &actions"))
        self.opt_auto_add_everything.setToolTip(_("By default, calibre will automatically add only known e-book files. \n"
"This option tells calibre to add all file types, except those\n"
"that have been explicitly ignored below."))
        self.opt_auto_add_everything.setText(_("Automatically add files of &all types (not just e-books)"))
        self.opt_auto_add_path.setPlaceholderText(_("Folder to automatically add files from"))
        self.auto_add_browse_button.setToolTip(_("Browse for folder"))
        self.auto_add_browse_button.setText(_("..."))
        self.opt_auto_add_auto_convert.setText(_("Automatically &convert added files to the preferred output format"))
        self.label_3.setText(_("<b>Ignore</b> files with the following &extensions when automatically adding "))
        self.label.setText(_("Specify a &folder. Any files you put into this folder will be automatically added to calibre (restart required)."))
        self.label_2.setText(_("<b>WARNING:</b> Files in the above folder will be deleted after being added to calibre."))
        self.opt_auto_add_check_for_duplicates.setToolTip(_("If set, this option will cause calibre to check if a file\n"
" being automatically added is already in the calibre library.\n"
" If it is, a message will pop up asking you whether\n"
" you want to add it anyway."))
        self.opt_auto_add_check_for_duplicates.setText(_("Check for &duplicates when automatically adding files"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4), _("&Automatic adding"))
Beispiel #11
0
class Ui_MetadataBulkDialog(object):
    def setupUi(self, MetadataBulkDialog):
        MetadataBulkDialog.setObjectName(_fromUtf8("MetadataBulkDialog"))
        MetadataBulkDialog.resize(962, 645)
        MetadataBulkDialog.setWindowTitle(_("Edit Meta information"))
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(_fromUtf8(I("edit_input.png"))), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        MetadataBulkDialog.setWindowIcon(icon)
        self.gridLayout_2 = QtGui.QGridLayout(MetadataBulkDialog)
        self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
        self.box_title = QtGui.QLabel(MetadataBulkDialog)
        self.box_title.setText(_fromUtf8(""))
        self.box_title.setAlignment(QtCore.Qt.AlignCenter)
        self.box_title.setObjectName(_fromUtf8("box_title"))
        self.gridLayout_2.addWidget(self.box_title, 0, 0, 1, 1)
        self.scrollArea = QtGui.QScrollArea(MetadataBulkDialog)
        self.scrollArea.setFrameShape(QtGui.QFrame.NoFrame)
        self.scrollArea.setLineWidth(0)
        self.scrollArea.setWidgetResizable(True)
        self.scrollArea.setObjectName(_fromUtf8("scrollArea"))
        self.scrollAreaWidgetContents = QtGui.QWidget()
        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 950, 576))
        self.scrollAreaWidgetContents.setObjectName(_fromUtf8("scrollAreaWidgetContents"))
        self.verticalLayout_2 = QtGui.QVBoxLayout(self.scrollAreaWidgetContents)
        self.verticalLayout_2.setMargin(0)
        self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
        self.central_widget = QtGui.QTabWidget(self.scrollAreaWidgetContents)
        self.central_widget.setObjectName(_fromUtf8("central_widget"))
        self.tabWidgetPage1 = QtGui.QWidget()
        self.tabWidgetPage1.setObjectName(_fromUtf8("tabWidgetPage1"))
        self.gridLayout = QtGui.QGridLayout(self.tabWidgetPage1)
        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
        self.label_2 = QtGui.QLabel(self.tabWidgetPage1)
        self.label_2.setText(_("&Author(s): "))
        self.label_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_2.setObjectName(_fromUtf8("label_2"))
        self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
        self.authors = EditWithComplete(self.tabWidgetPage1)
        self.authors.setEditable(True)
        self.authors.setObjectName(_fromUtf8("authors"))
        self.gridLayout.addWidget(self.authors, 0, 1, 1, 1)
        self.horizontalLayout_2 = QtGui.QHBoxLayout()
        self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
        self.auto_author_sort = QtGui.QCheckBox(self.tabWidgetPage1)
        self.auto_author_sort.setText(_("A&utomatically set author sort"))
        self.auto_author_sort.setObjectName(_fromUtf8("auto_author_sort"))
        self.horizontalLayout_2.addWidget(self.auto_author_sort)
        self.swap_title_and_author = QtGui.QCheckBox(self.tabWidgetPage1)
        self.swap_title_and_author.setText(_("&Swap title and author"))
        self.swap_title_and_author.setObjectName(_fromUtf8("swap_title_and_author"))
        self.horizontalLayout_2.addWidget(self.swap_title_and_author)
        self.gridLayout.addLayout(self.horizontalLayout_2, 1, 1, 1, 1)
        self.label_8 = QtGui.QLabel(self.tabWidgetPage1)
        self.label_8.setText(_("Author s&ort: "))
        self.label_8.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_8.setObjectName(_fromUtf8("label_8"))
        self.gridLayout.addWidget(self.label_8, 2, 0, 1, 1)
        self.author_sort = EnLineEdit(self.tabWidgetPage1)
        self.author_sort.setToolTip(_("Specify how the author(s) of this book should be sorted. For example Charles Dickens should be sorted as Dickens, Charles."))
        self.author_sort.setObjectName(_fromUtf8("author_sort"))
        self.gridLayout.addWidget(self.author_sort, 2, 1, 1, 1)
        self.label_6 = QtGui.QLabel(self.tabWidgetPage1)
        self.label_6.setText(_("&Rating:"))
        self.label_6.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_6.setObjectName(_fromUtf8("label_6"))
        self.gridLayout.addWidget(self.label_6, 3, 0, 1, 1)
        self.rating = QtGui.QSpinBox(self.tabWidgetPage1)
        self.rating.setToolTip(_("Rating of this book. 0-5 stars"))
        self.rating.setWhatsThis(_("Rating of this book. 0-5 stars"))
        self.rating.setButtonSymbols(QtGui.QAbstractSpinBox.PlusMinus)
        self.rating.setSpecialValueText(_("No change"))
        self.rating.setSuffix(_(" stars"))
        self.rating.setMinimum(-1)
        self.rating.setMaximum(5)
        self.rating.setProperty("value", -1)
        self.rating.setObjectName(_fromUtf8("rating"))
        self.gridLayout.addWidget(self.rating, 3, 1, 1, 1)
        self.label_3 = QtGui.QLabel(self.tabWidgetPage1)
        self.label_3.setText(_("&Publisher: "))
        self.label_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_3.setObjectName(_fromUtf8("label_3"))
        self.gridLayout.addWidget(self.label_3, 4, 0, 1, 1)
        self.publisher = EditWithComplete(self.tabWidgetPage1)
        self.publisher.setEditable(True)
        self.publisher.setObjectName(_fromUtf8("publisher"))
        self.gridLayout.addWidget(self.publisher, 4, 1, 1, 1)
        self.label_4 = QtGui.QLabel(self.tabWidgetPage1)
        self.label_4.setText(_("Add ta&gs: "))
        self.label_4.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_4.setObjectName(_fromUtf8("label_4"))
        self.gridLayout.addWidget(self.label_4, 5, 0, 1, 1)
        self.tags = EditWithComplete(self.tabWidgetPage1)
        self.tags.setToolTip(_("Tags categorize the book. This is particularly useful while searching. <br><br>They can be any words or phrases, separated by commas."))
        self.tags.setObjectName(_fromUtf8("tags"))
        self.gridLayout.addWidget(self.tags, 5, 1, 1, 1)
        self.tag_editor_button = QtGui.QToolButton(self.tabWidgetPage1)
        self.tag_editor_button.setToolTip(_("Open Tag Editor"))
        self.tag_editor_button.setText(_("Open Tag Editor"))
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(_fromUtf8(I("chapters.png"))), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.tag_editor_button.setIcon(icon1)
        self.tag_editor_button.setObjectName(_fromUtf8("tag_editor_button"))
        self.gridLayout.addWidget(self.tag_editor_button, 5, 2, 1, 1)
        self.label = QtGui.QLabel(self.tabWidgetPage1)
        self.label.setText(_("&Remove tags:"))
        self.label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label.setObjectName(_fromUtf8("label"))
        self.gridLayout.addWidget(self.label, 6, 0, 1, 1)
        self.remove_tags = EditWithComplete(self.tabWidgetPage1)
        self.remove_tags.setToolTip(_("Comma separated list of tags to remove from the books. "))
        self.remove_tags.setObjectName(_fromUtf8("remove_tags"))
        self.gridLayout.addWidget(self.remove_tags, 6, 1, 1, 1)
        self.remove_all_tags = QtGui.QCheckBox(self.tabWidgetPage1)
        self.remove_all_tags.setToolTip(_("Check this box to remove all tags from the books."))
        self.remove_all_tags.setText(_("Remove &all"))
        self.remove_all_tags.setObjectName(_fromUtf8("remove_all_tags"))
        self.gridLayout.addWidget(self.remove_all_tags, 6, 2, 1, 1)
        self.label_7 = QtGui.QLabel(self.tabWidgetPage1)
        self.label_7.setText(_("&Series:"))
        self.label_7.setTextFormat(QtCore.Qt.PlainText)
        self.label_7.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_7.setObjectName(_fromUtf8("label_7"))
        self.gridLayout.addWidget(self.label_7, 7, 0, 1, 1)
        self.series = EditWithComplete(self.tabWidgetPage1)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.series.sizePolicy().hasHeightForWidth())
        self.series.setSizePolicy(sizePolicy)
        self.series.setToolTip(_("List of known series. You can add new series."))
        self.series.setWhatsThis(_("List of known series. You can add new series."))
        self.series.setEditable(True)
        self.series.setInsertPolicy(QtGui.QComboBox.InsertAlphabetically)
        self.series.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToMinimumContentsLengthWithIcon)
        self.series.setMinimumContentsLength(40)
        self.series.setObjectName(_fromUtf8("series"))
        self.gridLayout.addWidget(self.series, 7, 1, 1, 1)
        self.clear_series = QtGui.QCheckBox(self.tabWidgetPage1)
        self.clear_series.setToolTip(_("If checked, the series will be cleared"))
        self.clear_series.setText(_("&Clear series"))
        self.clear_series.setObjectName(_fromUtf8("clear_series"))
        self.gridLayout.addWidget(self.clear_series, 7, 2, 1, 1)
        self.HLayout_3 = QtGui.QHBoxLayout()
        self.HLayout_3.setObjectName(_fromUtf8("HLayout_3"))
        self.autonumber_series = QtGui.QCheckBox(self.tabWidgetPage1)
        self.autonumber_series.setEnabled(False)
        self.autonumber_series.setToolTip(_("If not checked, the series number for the books will be set to 1.\n"
"If checked, selected books will be automatically numbered, in the order\n"
"you selected them. So if you selected Book A and then Book B,\n"
"Book A will have series number 1 and Book B series number 2."))
        self.autonumber_series.setText(_("&Automatically number books in this series"))
        self.autonumber_series.setObjectName(_fromUtf8("autonumber_series"))
        self.HLayout_3.addWidget(self.autonumber_series)
        self.series_numbering_restarts = QtGui.QCheckBox(self.tabWidgetPage1)
        self.series_numbering_restarts.setEnabled(False)
        self.series_numbering_restarts.setToolTip(_("Series will normally be renumbered from the highest number in the database\n"
"for that series. Checking this box will tell calibre to start numbering\n"
"from the value in the box"))
        self.series_numbering_restarts.setText(_("&Force numbers to start with:"))
        self.series_numbering_restarts.setObjectName(_fromUtf8("series_numbering_restarts"))
        self.HLayout_3.addWidget(self.series_numbering_restarts)
        self.series_start_number = QtGui.QSpinBox(self.tabWidgetPage1)
        self.series_start_number.setEnabled(False)
        self.series_start_number.setMinimum(1)
        self.series_start_number.setMaximum(99000000)
        self.series_start_number.setProperty("value", 1)
        self.series_start_number.setObjectName(_fromUtf8("series_start_number"))
        self.HLayout_3.addWidget(self.series_start_number)
        self.gridLayout.addLayout(self.HLayout_3, 8, 1, 1, 1)
        self.label_10 = QtGui.QLabel(self.tabWidgetPage1)
        self.label_10.setText(_("&Date:"))
        self.label_10.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_10.setObjectName(_fromUtf8("label_10"))
        self.gridLayout.addWidget(self.label_10, 9, 0, 1, 1)
        self.horizontalLayout_5 = QtGui.QHBoxLayout()
        self.horizontalLayout_5.setObjectName(_fromUtf8("horizontalLayout_5"))
        self.adddate = QtGui.QDateTimeEdit(self.tabWidgetPage1)
        self.adddate.setDisplayFormat(_("d MMM yyyy"))
        self.adddate.setCalendarPopup(True)
        self.adddate.setObjectName(_fromUtf8("adddate"))
        self.horizontalLayout_5.addWidget(self.adddate)
        self.clear_adddate_button = QtGui.QToolButton(self.tabWidgetPage1)
        self.clear_adddate_button.setText(_("..."))
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(_fromUtf8(I("trash.png"))), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.clear_adddate_button.setIcon(icon2)
        self.clear_adddate_button.setObjectName(_fromUtf8("clear_adddate_button"))
        self.horizontalLayout_5.addWidget(self.clear_adddate_button)
        self.gridLayout.addLayout(self.horizontalLayout_5, 9, 1, 1, 1)
        self.apply_adddate = QtGui.QCheckBox(self.tabWidgetPage1)
        self.apply_adddate.setText(_("&Apply date"))
        self.apply_adddate.setObjectName(_fromUtf8("apply_adddate"))
        self.gridLayout.addWidget(self.apply_adddate, 9, 2, 1, 1)
        self.label_9 = QtGui.QLabel(self.tabWidgetPage1)
        self.label_9.setText(_("&Published:"))
        self.label_9.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_9.setObjectName(_fromUtf8("label_9"))
        self.gridLayout.addWidget(self.label_9, 10, 0, 1, 1)
        self.horizontalLayout_4 = QtGui.QHBoxLayout()
        self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
        self.pubdate = QtGui.QDateTimeEdit(self.tabWidgetPage1)
        self.pubdate.setDisplayFormat("MMM yyyy")
        self.pubdate.setCalendarPopup(True)
        self.pubdate.setObjectName(_fromUtf8("pubdate"))
        self.horizontalLayout_4.addWidget(self.pubdate)
        self.clear_pubdate_button = QtGui.QToolButton(self.tabWidgetPage1)
        self.clear_pubdate_button.setToolTip(_("Clear published date"))
        self.clear_pubdate_button.setText(_("..."))
        self.clear_pubdate_button.setIcon(icon2)
        self.clear_pubdate_button.setObjectName(_fromUtf8("clear_pubdate_button"))
        self.horizontalLayout_4.addWidget(self.clear_pubdate_button)
        self.gridLayout.addLayout(self.horizontalLayout_4, 10, 1, 1, 1)
        self.apply_pubdate = QtGui.QCheckBox(self.tabWidgetPage1)
        self.apply_pubdate.setText(_("&Apply date"))
        self.apply_pubdate.setObjectName(_fromUtf8("apply_pubdate"))
        self.gridLayout.addWidget(self.apply_pubdate, 10, 2, 1, 1)
        self.label_11 = QtGui.QLabel(self.tabWidgetPage1)
        self.label_11.setText(_("&Languages:"))
        self.label_11.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_11.setObjectName(_fromUtf8("label_11"))
        self.gridLayout.addWidget(self.label_11, 11, 0, 1, 1)
        self.languages = LanguagesEdit(self.tabWidgetPage1)
        self.languages.setObjectName(_fromUtf8("languages"))
        self.gridLayout.addWidget(self.languages, 11, 1, 1, 1)
        self.clear_languages = QtGui.QCheckBox(self.tabWidgetPage1)
        self.clear_languages.setText(_("Remove &all"))
        self.clear_languages.setObjectName(_fromUtf8("clear_languages"))
        self.gridLayout.addWidget(self.clear_languages, 11, 2, 1, 1)
        self.label_5 = QtGui.QLabel(self.tabWidgetPage1)
        self.label_5.setText(_("Remove &format:"))
        self.label_5.setObjectName(_fromUtf8("label_5"))
        self.gridLayout.addWidget(self.label_5, 12, 0, 1, 1)
        self.horizontalLayout_7 = QtGui.QHBoxLayout()
        self.horizontalLayout_7.setObjectName(_fromUtf8("horizontalLayout_7"))
        self.remove_format = QtGui.QComboBox(self.tabWidgetPage1)
        self.remove_format.setMaximumSize(QtCore.QSize(120, 16777215))
        self.remove_format.setObjectName(_fromUtf8("remove_format"))
        self.horizontalLayout_7.addWidget(self.remove_format)
        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_7.addItem(spacerItem)
        self.restore_original = QtGui.QCheckBox(self.tabWidgetPage1)
        self.restore_original.setToolTip(_("When doing a same format to same format conversion, for e.g., EPUB to EPUB, calibre saves the original EPUB as ORIGINAL_EPUB. This option tells calibre to restore the EPUB from ORIGINAL_EPUB. Useful if you did a bulk conversion of a large number of books and something went wrong."))
        self.restore_original.setText(_("Restore pre conversion &originals, if available"))
        self.restore_original.setObjectName(_fromUtf8("restore_original"))
        self.horizontalLayout_7.addWidget(self.restore_original)
        self.gridLayout.addLayout(self.horizontalLayout_7, 12, 1, 1, 1)
        spacerItem1 = QtGui.QSpacerItem(20, 15, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
        self.gridLayout.addItem(spacerItem1, 13, 0, 1, 1)
        self.horizontalLayout_3 = QtGui.QHBoxLayout()
        self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
        self.change_title_to_title_case = QtGui.QCheckBox(self.tabWidgetPage1)
        self.change_title_to_title_case.setToolTip(_("Force the title to be in title case. If both this and swap authors are checked,\n"
"title and author are swapped before the title case is set"))
        self.change_title_to_title_case.setText(_("Change title to title &case"))
        self.change_title_to_title_case.setObjectName(_fromUtf8("change_title_to_title_case"))
        self.horizontalLayout_3.addWidget(self.change_title_to_title_case)
        self.update_title_sort = QtGui.QCheckBox(self.tabWidgetPage1)
        self.update_title_sort.setToolTip(_("Update title sort based on the current title. This will be applied only after other changes to title."))
        self.update_title_sort.setText(_("Update &title sort"))
        self.update_title_sort.setObjectName(_fromUtf8("update_title_sort"))
        self.horizontalLayout_3.addWidget(self.update_title_sort)
        spacerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_3.addItem(spacerItem2)
        self.remove_conversion_settings = QtGui.QCheckBox(self.tabWidgetPage1)
        self.remove_conversion_settings.setToolTip(_("Remove stored conversion settings for the selected books.\n"
"\n"
"Future conversion of these books will use the default settings."))
        self.remove_conversion_settings.setText(_("Remove &stored conversion settings for the selected books"))
        self.remove_conversion_settings.setObjectName(_fromUtf8("remove_conversion_settings"))
        self.horizontalLayout_3.addWidget(self.remove_conversion_settings)
        self.gridLayout.addLayout(self.horizontalLayout_3, 14, 0, 1, 2)
        self.groupBox = QtGui.QGroupBox(self.tabWidgetPage1)
        self.groupBox.setTitle(_("Change &cover"))
        self.groupBox.setObjectName(_fromUtf8("groupBox"))
        self.horizontalLayout = QtGui.QHBoxLayout(self.groupBox)
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
        self.cover_generate = QtGui.QRadioButton(self.groupBox)
        self.cover_generate.setText(_("&Generate default cover"))
        self.cover_generate.setObjectName(_fromUtf8("cover_generate"))
        self.horizontalLayout.addWidget(self.cover_generate)
        self.cover_remove = QtGui.QRadioButton(self.groupBox)
        self.cover_remove.setText(_("&Remove cover"))
        self.cover_remove.setObjectName(_fromUtf8("cover_remove"))
        self.horizontalLayout.addWidget(self.cover_remove)
        self.cover_from_fmt = QtGui.QRadioButton(self.groupBox)
        self.cover_from_fmt.setText(_("Set from &ebook file(s)"))
        self.cover_from_fmt.setObjectName(_fromUtf8("cover_from_fmt"))
        self.horizontalLayout.addWidget(self.cover_from_fmt)
        self.gridLayout.addWidget(self.groupBox, 15, 0, 1, 2)
        spacerItem3 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem3, 16, 0, 1, 1)
        self.central_widget.addTab(self.tabWidgetPage1, _fromUtf8(""))
        self.tab = QtGui.QWidget()
        self.tab.setObjectName(_fromUtf8("tab"))
        self.central_widget.addTab(self.tab, _fromUtf8(""))
        self.tabWidgetPage3 = QtGui.QWidget()
        self.tabWidgetPage3.setObjectName(_fromUtf8("tabWidgetPage3"))
        self.vargrid = QtGui.QGridLayout(self.tabWidgetPage3)
        self.vargrid.setSizeConstraint(QtGui.QLayout.SetMinimumSize)
        self.vargrid.setObjectName(_fromUtf8("vargrid"))
        self.s_r_heading = QtGui.QLabel(self.tabWidgetPage3)
        self.s_r_heading.setWordWrap(True)
        self.s_r_heading.setOpenExternalLinks(True)
        self.s_r_heading.setObjectName(_fromUtf8("s_r_heading"))
        self.vargrid.addWidget(self.s_r_heading, 0, 0, 1, 4)
        self.filler = QtGui.QLabel(self.tabWidgetPage3)
        self.filler.setText(_fromUtf8(""))
        self.filler.setObjectName(_fromUtf8("filler"))
        self.vargrid.addWidget(self.filler, 1, 0, 1, 1)
        self.line = QtGui.QFrame(self.tabWidgetPage3)
        self.line.setFrameShape(QtGui.QFrame.HLine)
        self.line.setFrameShadow(QtGui.QFrame.Sunken)
        self.line.setObjectName(_fromUtf8("line"))
        self.vargrid.addWidget(self.line, 2, 0, 1, 3)
        self.xlabel_22 = QtGui.QLabel(self.tabWidgetPage3)
        self.xlabel_22.setText(_("Load searc&h/replace:"))
        self.xlabel_22.setObjectName(_fromUtf8("xlabel_22"))
        self.vargrid.addWidget(self.xlabel_22, 3, 0, 1, 1)
        self.query_field = QtGui.QComboBox(self.tabWidgetPage3)
        self.query_field.setToolTip(_("Select saved search/replace to load."))
        self.query_field.setObjectName(_fromUtf8("query_field"))
        self.vargrid.addWidget(self.query_field, 3, 1, 1, 1)
        self.horizontalLayout_6 = QtGui.QHBoxLayout()
        self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6"))
        spacerItem4 = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_6.addItem(spacerItem4)
        self.save_button = QtGui.QPushButton(self.tabWidgetPage3)
        self.save_button.setToolTip(_("Save current search/replace"))
        self.save_button.setText(_("Sa&ve"))
        self.save_button.setObjectName(_fromUtf8("save_button"))
        self.horizontalLayout_6.addWidget(self.save_button)
        self.remove_button = QtGui.QPushButton(self.tabWidgetPage3)
        self.remove_button.setToolTip(_("Delete saved search/replace"))
        self.remove_button.setText(_("Delete"))
        self.remove_button.setObjectName(_fromUtf8("remove_button"))
        self.horizontalLayout_6.addWidget(self.remove_button)
        spacerItem5 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_6.addItem(spacerItem5)
        self.vargrid.addLayout(self.horizontalLayout_6, 3, 2, 1, 1)
        self.xlabel_21 = QtGui.QLabel(self.tabWidgetPage3)
        self.xlabel_21.setText(_("Search &field:"))
        self.xlabel_21.setObjectName(_fromUtf8("xlabel_21"))
        self.vargrid.addWidget(self.xlabel_21, 4, 0, 1, 1)
        self.search_field = QtGui.QComboBox(self.tabWidgetPage3)
        self.search_field.setToolTip(_("The name of the field that you want to search"))
        self.search_field.setObjectName(_fromUtf8("search_field"))
        self.vargrid.addWidget(self.search_field, 4, 1, 1, 1)
        self.HLayout_31 = QtGui.QHBoxLayout()
        self.HLayout_31.setObjectName(_fromUtf8("HLayout_31"))
        self.xlabel_24 = QtGui.QLabel(self.tabWidgetPage3)
        self.xlabel_24.setText(_("Search &mode:"))
        self.xlabel_24.setObjectName(_fromUtf8("xlabel_24"))
        self.HLayout_31.addWidget(self.xlabel_24)
        self.search_mode = QtGui.QComboBox(self.tabWidgetPage3)
        self.search_mode.setToolTip(_("Choose whether to use basic text matching or advanced regular expression matching"))
        self.search_mode.setObjectName(_fromUtf8("search_mode"))
        self.HLayout_31.addWidget(self.search_mode)
        spacerItem6 = QtGui.QSpacerItem(20, 10, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.HLayout_31.addItem(spacerItem6)
        self.vargrid.addLayout(self.HLayout_31, 4, 2, 1, 1)
        self.s_r_src_ident_label = QtGui.QLabel(self.tabWidgetPage3)
        self.s_r_src_ident_label.setText(_("Identifier type:"))
        self.s_r_src_ident_label.setObjectName(_fromUtf8("s_r_src_ident_label"))
        self.vargrid.addWidget(self.s_r_src_ident_label, 5, 0, 1, 1)
        self.s_r_src_ident = QtGui.QComboBox(self.tabWidgetPage3)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(100)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.s_r_src_ident.sizePolicy().hasHeightForWidth())
        self.s_r_src_ident.setSizePolicy(sizePolicy)
        self.s_r_src_ident.setToolTip(_("Choose which identifier type to operate upon"))
        self.s_r_src_ident.setObjectName(_fromUtf8("s_r_src_ident"))
        self.vargrid.addWidget(self.s_r_src_ident, 5, 1, 1, 1)
        self.template_label = QtGui.QLabel(self.tabWidgetPage3)
        self.template_label.setText(_("Te&mplate:"))
        self.template_label.setObjectName(_fromUtf8("template_label"))
        self.vargrid.addWidget(self.template_label, 5, 0, 1, 1)
        self.s_r_template = HistoryLineEdit(self.tabWidgetPage3)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(100)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.s_r_template.sizePolicy().hasHeightForWidth())
        self.s_r_template.setSizePolicy(sizePolicy)
        self.s_r_template.setToolTip(_("Enter a template to be used as the source for the search/replace"))
        self.s_r_template.setObjectName(_fromUtf8("s_r_template"))
        self.vargrid.addWidget(self.s_r_template, 5, 1, 1, 1)
        self.xlabel_2 = QtGui.QLabel(self.tabWidgetPage3)
        self.xlabel_2.setText(_("&Search for:"))
        self.xlabel_2.setObjectName(_fromUtf8("xlabel_2"))
        self.vargrid.addWidget(self.xlabel_2, 6, 0, 1, 1)
        self.search_for = HistoryLineEdit(self.tabWidgetPage3)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(100)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.search_for.sizePolicy().hasHeightForWidth())
        self.search_for.setSizePolicy(sizePolicy)
        self.search_for.setToolTip(_("Enter what you are looking for, either plain text or a regular expression, depending on the mode"))
        self.search_for.setObjectName(_fromUtf8("search_for"))
        self.vargrid.addWidget(self.search_for, 6, 1, 1, 1)
        self.case_sensitive = QtGui.QCheckBox(self.tabWidgetPage3)
        self.case_sensitive.setToolTip(_("Check this box if the search string must match exactly upper and lower case. Uncheck it if case is to be ignored"))
        self.case_sensitive.setText(_("Cas&e sensitive"))
        self.case_sensitive.setChecked(True)
        self.case_sensitive.setObjectName(_fromUtf8("case_sensitive"))
        self.vargrid.addWidget(self.case_sensitive, 6, 2, 1, 1)
        self.xlabel_4 = QtGui.QLabel(self.tabWidgetPage3)
        self.xlabel_4.setText(_("&Replace with:"))
        self.xlabel_4.setObjectName(_fromUtf8("xlabel_4"))
        self.vargrid.addWidget(self.xlabel_4, 7, 0, 1, 1)
        self.replace_with = HistoryLineEdit(self.tabWidgetPage3)
        self.replace_with.setToolTip(_("The replacement text. The matched search text will be replaced with this string"))
        self.replace_with.setObjectName(_fromUtf8("replace_with"))
        self.vargrid.addWidget(self.replace_with, 7, 1, 1, 1)
        self.verticalLayout = QtGui.QHBoxLayout()
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.label_41 = QtGui.QLabel(self.tabWidgetPage3)
        self.label_41.setText(_("&Apply function after replace:"))
        self.label_41.setObjectName(_fromUtf8("label_41"))
        self.verticalLayout.addWidget(self.label_41)
        self.replace_func = QtGui.QComboBox(self.tabWidgetPage3)
        self.replace_func.setToolTip(_("Specify how the text is to be processed after matching and replacement. In character mode, the entire\n"
"field is processed. In regular expression mode, only the matched text is processed"))
        self.replace_func.setObjectName(_fromUtf8("replace_func"))
        self.verticalLayout.addWidget(self.replace_func)
        spacerItem7 = QtGui.QSpacerItem(20, 10, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.verticalLayout.addItem(spacerItem7)
        self.vargrid.addLayout(self.verticalLayout, 7, 2, 1, 1)
        self.destination_field_label = QtGui.QLabel(self.tabWidgetPage3)
        self.destination_field_label.setText(_("&Destination field:"))
        self.destination_field_label.setObjectName(_fromUtf8("destination_field_label"))
        self.vargrid.addWidget(self.destination_field_label, 8, 0, 1, 1)
        self.destination_field = QtGui.QComboBox(self.tabWidgetPage3)
        self.destination_field.setToolTip(_("The field that the text will be put into after all replacements.\n"
"If blank, the source field is used if the field is modifiable"))
        self.destination_field.setObjectName(_fromUtf8("destination_field"))
        self.vargrid.addWidget(self.destination_field, 8, 1, 1, 1)
        self.verticalLayout1 = QtGui.QHBoxLayout()
        self.verticalLayout1.setObjectName(_fromUtf8("verticalLayout1"))
        self.replace_mode_label = QtGui.QLabel(self.tabWidgetPage3)
        self.replace_mode_label.setText(_("M&ode:"))
        self.replace_mode_label.setObjectName(_fromUtf8("replace_mode_label"))
        self.verticalLayout1.addWidget(self.replace_mode_label)
        self.replace_mode = QtGui.QComboBox(self.tabWidgetPage3)
        self.replace_mode.setToolTip(_("Specify how the text should be copied into the destination."))
        self.replace_mode.setObjectName(_fromUtf8("replace_mode"))
        self.verticalLayout1.addWidget(self.replace_mode)
        self.comma_separated = QtGui.QCheckBox(self.tabWidgetPage3)
        self.comma_separated.setToolTip(_("Specifies whether result items should be split into multiple values or\n"
"left as single values. This option has the most effect when the source field is\n"
"not multiple and the destination field is multiple"))
        self.comma_separated.setText(_("Split &result"))
        self.comma_separated.setChecked(True)
        self.comma_separated.setObjectName(_fromUtf8("comma_separated"))
        self.verticalLayout1.addWidget(self.comma_separated)
        spacerItem8 = QtGui.QSpacerItem(20, 10, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.verticalLayout1.addItem(spacerItem8)
        self.vargrid.addLayout(self.verticalLayout1, 8, 2, 1, 1)
        self.s_r_dst_ident_label = QtGui.QLabel(self.tabWidgetPage3)
        self.s_r_dst_ident_label.setText(_("Identifier type:"))
        self.s_r_dst_ident_label.setObjectName(_fromUtf8("s_r_dst_ident_label"))
        self.vargrid.addWidget(self.s_r_dst_ident_label, 9, 0, 1, 1)
        self.s_r_dst_ident = QtGui.QLineEdit(self.tabWidgetPage3)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(100)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.s_r_dst_ident.sizePolicy().hasHeightForWidth())
        self.s_r_dst_ident.setSizePolicy(sizePolicy)
        self.s_r_dst_ident.setToolTip(_("Choose which identifier type to operate upon"))
        self.s_r_dst_ident.setObjectName(_fromUtf8("s_r_dst_ident"))
        self.vargrid.addWidget(self.s_r_dst_ident, 9, 1, 1, 1)
        self.horizontalLayout_21 = QtGui.QHBoxLayout()
        self.horizontalLayout_21.setObjectName(_fromUtf8("horizontalLayout_21"))
        spacerItem9 = QtGui.QSpacerItem(20, 0, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_21.addItem(spacerItem9)
        self.xlabel_412 = QtGui.QLabel(self.tabWidgetPage3)
        self.xlabel_412.setText(_("For multiple-valued fields, sho&w"))
        self.xlabel_412.setObjectName(_fromUtf8("xlabel_412"))
        self.horizontalLayout_21.addWidget(self.xlabel_412)
        self.results_count = QtGui.QSpinBox(self.tabWidgetPage3)
        self.results_count.setEnabled(True)
        self.results_count.setMinimum(1)
        self.results_count.setMaximum(999)
        self.results_count.setProperty("value", 999)
        self.results_count.setObjectName(_fromUtf8("results_count"))
        self.horizontalLayout_21.addWidget(self.results_count)
        self.xlabel_4121 = QtGui.QLabel(self.tabWidgetPage3)
        self.xlabel_4121.setText(_("values starting a&t"))
        self.xlabel_4121.setObjectName(_fromUtf8("xlabel_4121"))
        self.horizontalLayout_21.addWidget(self.xlabel_4121)
        self.starting_from = QtGui.QSpinBox(self.tabWidgetPage3)
        self.starting_from.setEnabled(True)
        self.starting_from.setMinimum(1)
        self.starting_from.setMaximum(999)
        self.starting_from.setProperty("value", 1)
        self.starting_from.setObjectName(_fromUtf8("starting_from"))
        self.horizontalLayout_21.addWidget(self.starting_from)
        self.xlabel_41 = QtGui.QLabel(self.tabWidgetPage3)
        self.xlabel_41.setText(_("with values separated b&y"))
        self.xlabel_41.setObjectName(_fromUtf8("xlabel_41"))
        self.horizontalLayout_21.addWidget(self.xlabel_41)
        self.multiple_separator = QtGui.QLineEdit(self.tabWidgetPage3)
        self.multiple_separator.setToolTip(_("Used when displaying test results to separate values in multiple-valued fields"))
        self.multiple_separator.setObjectName(_fromUtf8("multiple_separator"))
        self.horizontalLayout_21.addWidget(self.multiple_separator)
        self.vargrid.addLayout(self.horizontalLayout_21, 10, 1, 1, 2)
        self.scrollArea11 = QtGui.QScrollArea(self.tabWidgetPage3)
        self.scrollArea11.setFrameShape(QtGui.QFrame.NoFrame)
        self.scrollArea11.setWidgetResizable(True)
        self.scrollArea11.setObjectName(_fromUtf8("scrollArea11"))
        self.gridLayoutWidget_2 = QtGui.QWidget()
        self.gridLayoutWidget_2.setGeometry(QtCore.QRect(0, 0, 205, 66))
        self.gridLayoutWidget_2.setObjectName(_fromUtf8("gridLayoutWidget_2"))
        self.testgrid = QtGui.QGridLayout(self.gridLayoutWidget_2)
        self.testgrid.setObjectName(_fromUtf8("testgrid"))
        self.xlabel_3 = QtGui.QLabel(self.gridLayoutWidget_2)
        self.xlabel_3.setText(_("Test text"))
        self.xlabel_3.setObjectName(_fromUtf8("xlabel_3"))
        self.testgrid.addWidget(self.xlabel_3, 7, 1, 1, 1)
        self.xlabel_31 = QtGui.QLabel(self.gridLayoutWidget_2)
        self.xlabel_31.setText(_("Test result"))
        self.xlabel_31.setObjectName(_fromUtf8("xlabel_31"))
        self.testgrid.addWidget(self.xlabel_31, 7, 2, 1, 1)
        self.label_31 = QtGui.QLabel(self.gridLayoutWidget_2)
        self.label_31.setText(_("Your test:"))
        self.label_31.setObjectName(_fromUtf8("label_31"))
        self.testgrid.addWidget(self.label_31, 8, 0, 1, 1)
        self.test_text = HistoryLineEdit(self.gridLayoutWidget_2)
        self.test_text.setObjectName(_fromUtf8("test_text"))
        self.testgrid.addWidget(self.test_text, 8, 1, 1, 1)
        self.test_result = QtGui.QLineEdit(self.gridLayoutWidget_2)
        self.test_result.setObjectName(_fromUtf8("test_result"))
        self.testgrid.addWidget(self.test_result, 8, 2, 1, 1)
        spacerItem10 = QtGui.QSpacerItem(20, 5, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
        self.testgrid.addItem(spacerItem10, 25, 0, 1, 2)
        self.scrollArea11.setWidget(self.gridLayoutWidget_2)
        self.vargrid.addWidget(self.scrollArea11, 11, 0, 1, 4)
        self.central_widget.addTab(self.tabWidgetPage3, _fromUtf8(""))
        self.verticalLayout_2.addWidget(self.central_widget)
        self.scrollArea.setWidget(self.scrollAreaWidgetContents)
        self.gridLayout_2.addWidget(self.scrollArea, 1, 0, 1, 1)
        self.button_box = QtGui.QDialogButtonBox(MetadataBulkDialog)
        self.button_box.setOrientation(QtCore.Qt.Horizontal)
        self.button_box.setStandardButtons(QtGui.QDialogButtonBox.Apply|QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
        self.button_box.setObjectName(_fromUtf8("button_box"))
        self.gridLayout_2.addWidget(self.button_box, 2, 0, 1, 1)
        self.label_2.setBuddy(self.authors)
        self.label_8.setBuddy(self.author_sort)
        self.label_6.setBuddy(self.rating)
        self.label_3.setBuddy(self.publisher)
        self.label_4.setBuddy(self.tags)
        self.label.setBuddy(self.remove_tags)
        self.label_7.setBuddy(self.series)
        self.label_10.setBuddy(self.adddate)
        self.label_9.setBuddy(self.pubdate)
        self.label_11.setBuddy(self.languages)
        self.label_5.setBuddy(self.remove_format)
        self.xlabel_22.setBuddy(self.query_field)
        self.xlabel_21.setBuddy(self.search_field)
        self.xlabel_24.setBuddy(self.search_mode)
        self.s_r_src_ident_label.setBuddy(self.s_r_src_ident)
        self.template_label.setBuddy(self.s_r_template)
        self.xlabel_2.setBuddy(self.search_for)
        self.xlabel_4.setBuddy(self.replace_with)
        self.label_41.setBuddy(self.replace_func)
        self.destination_field_label.setBuddy(self.destination_field)
        self.replace_mode_label.setBuddy(self.replace_mode)
        self.s_r_dst_ident_label.setBuddy(self.s_r_dst_ident)
        self.xlabel_412.setBuddy(self.results_count)
        self.xlabel_4121.setBuddy(self.starting_from)
        self.xlabel_41.setBuddy(self.multiple_separator)

        self.retranslateUi(MetadataBulkDialog)
        self.central_widget.setCurrentIndex(0)
        QtCore.QObject.connect(self.button_box, QtCore.SIGNAL(_fromUtf8("accepted()")), MetadataBulkDialog.accept)
        QtCore.QObject.connect(self.button_box, QtCore.SIGNAL(_fromUtf8("rejected()")), MetadataBulkDialog.reject)
        QtCore.QMetaObject.connectSlotsByName(MetadataBulkDialog)
        MetadataBulkDialog.setTabOrder(self.authors, self.auto_author_sort)
        MetadataBulkDialog.setTabOrder(self.auto_author_sort, self.swap_title_and_author)
        MetadataBulkDialog.setTabOrder(self.swap_title_and_author, self.author_sort)
        MetadataBulkDialog.setTabOrder(self.author_sort, self.rating)
        MetadataBulkDialog.setTabOrder(self.rating, self.publisher)
        MetadataBulkDialog.setTabOrder(self.publisher, self.tags)
        MetadataBulkDialog.setTabOrder(self.tags, self.tag_editor_button)
        MetadataBulkDialog.setTabOrder(self.tag_editor_button, self.remove_tags)
        MetadataBulkDialog.setTabOrder(self.remove_tags, self.remove_all_tags)
        MetadataBulkDialog.setTabOrder(self.remove_all_tags, self.series)
        MetadataBulkDialog.setTabOrder(self.series, self.clear_series)
        MetadataBulkDialog.setTabOrder(self.clear_series, self.autonumber_series)
        MetadataBulkDialog.setTabOrder(self.autonumber_series, self.series_numbering_restarts)
        MetadataBulkDialog.setTabOrder(self.series_numbering_restarts, self.series_start_number)
        MetadataBulkDialog.setTabOrder(self.series_start_number, self.adddate)
        MetadataBulkDialog.setTabOrder(self.adddate, self.clear_adddate_button)
        MetadataBulkDialog.setTabOrder(self.clear_adddate_button, self.apply_adddate)
        MetadataBulkDialog.setTabOrder(self.apply_adddate, self.pubdate)
        MetadataBulkDialog.setTabOrder(self.pubdate, self.clear_pubdate_button)
        MetadataBulkDialog.setTabOrder(self.clear_pubdate_button, self.apply_pubdate)
        MetadataBulkDialog.setTabOrder(self.apply_pubdate, self.languages)
        MetadataBulkDialog.setTabOrder(self.languages, self.clear_languages)
        MetadataBulkDialog.setTabOrder(self.clear_languages, self.remove_format)
        MetadataBulkDialog.setTabOrder(self.remove_format, self.restore_original)
        MetadataBulkDialog.setTabOrder(self.restore_original, self.change_title_to_title_case)
        MetadataBulkDialog.setTabOrder(self.change_title_to_title_case, self.update_title_sort)
        MetadataBulkDialog.setTabOrder(self.update_title_sort, self.remove_conversion_settings)
        MetadataBulkDialog.setTabOrder(self.remove_conversion_settings, self.cover_generate)
        MetadataBulkDialog.setTabOrder(self.cover_generate, self.cover_remove)
        MetadataBulkDialog.setTabOrder(self.cover_remove, self.cover_from_fmt)
        MetadataBulkDialog.setTabOrder(self.cover_from_fmt, self.multiple_separator)
        MetadataBulkDialog.setTabOrder(self.multiple_separator, self.test_text)
        MetadataBulkDialog.setTabOrder(self.test_text, self.test_result)
        MetadataBulkDialog.setTabOrder(self.test_result, self.scrollArea)
        MetadataBulkDialog.setTabOrder(self.scrollArea, self.central_widget)
        MetadataBulkDialog.setTabOrder(self.central_widget, self.query_field)
        MetadataBulkDialog.setTabOrder(self.query_field, self.button_box)
        MetadataBulkDialog.setTabOrder(self.button_box, self.save_button)
        MetadataBulkDialog.setTabOrder(self.save_button, self.remove_button)
        MetadataBulkDialog.setTabOrder(self.remove_button, self.search_field)
        MetadataBulkDialog.setTabOrder(self.search_field, self.search_mode)
        MetadataBulkDialog.setTabOrder(self.search_mode, self.s_r_src_ident)
        MetadataBulkDialog.setTabOrder(self.s_r_src_ident, self.s_r_template)
        MetadataBulkDialog.setTabOrder(self.s_r_template, self.search_for)
        MetadataBulkDialog.setTabOrder(self.search_for, self.case_sensitive)
        MetadataBulkDialog.setTabOrder(self.case_sensitive, self.replace_with)
        MetadataBulkDialog.setTabOrder(self.replace_with, self.replace_func)
        MetadataBulkDialog.setTabOrder(self.replace_func, self.destination_field)
        MetadataBulkDialog.setTabOrder(self.destination_field, self.replace_mode)
        MetadataBulkDialog.setTabOrder(self.replace_mode, self.comma_separated)
        MetadataBulkDialog.setTabOrder(self.comma_separated, self.s_r_dst_ident)
        MetadataBulkDialog.setTabOrder(self.s_r_dst_ident, self.results_count)
        MetadataBulkDialog.setTabOrder(self.results_count, self.starting_from)
        MetadataBulkDialog.setTabOrder(self.starting_from, self.multiple_separator)
        MetadataBulkDialog.setTabOrder(self.multiple_separator, self.scrollArea11)

    def retranslateUi(self, MetadataBulkDialog):
        self.central_widget.setTabText(self.central_widget.indexOf(self.tabWidgetPage1), _("&Basic metadata"))
        self.central_widget.setTabText(self.central_widget.indexOf(self.tab), _("&Custom metadata"))
        self.central_widget.setTabText(self.central_widget.indexOf(self.tabWidgetPage3), _("&Search and replace"))
class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.resize(602, 245)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(I("lt.png")), QtGui.QIcon.Normal,
                       QtGui.QIcon.Off)
        Dialog.setWindowIcon(icon)
        self.gridLayout = QtWidgets.QGridLayout(Dialog)
        self.gridLayout.setObjectName("gridLayout")
        self.old_location = QtWidgets.QLabel(Dialog)
        self.old_location.setWordWrap(True)
        self.old_location.setObjectName("old_location")
        self.gridLayout.addWidget(self.old_location, 0, 0, 1, 4)
        self.label_2 = QtWidgets.QLabel(Dialog)
        self.label_2.setObjectName("label_2")
        self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1)
        self.existing_library = QtWidgets.QRadioButton(Dialog)
        self.existing_library.setChecked(True)
        self.existing_library.setObjectName("existing_library")
        self.gridLayout.addWidget(self.existing_library, 4, 0, 1, 4)
        self.hbox1 = QtWidgets.QHBoxLayout()
        self.hbox1.setObjectName("hbox1")
        self.empty_library = QtWidgets.QRadioButton(Dialog)
        self.empty_library.setObjectName("empty_library")
        self.hbox1.addWidget(self.empty_library)
        self.copy_structure = QtWidgets.QCheckBox(Dialog)
        self.copy_structure.setObjectName("copy_structure")
        self.hbox1.addWidget(self.copy_structure)
        self.gridLayout.addLayout(self.hbox1, 5, 0, 1, 3)
        self.move_library = QtWidgets.QRadioButton(Dialog)
        self.move_library.setObjectName("move_library")
        self.gridLayout.addWidget(self.move_library, 6, 0, 1, 3)
        self.buttonBox = QtWidgets.QDialogButtonBox(Dialog)
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel
                                          | QtWidgets.QDialogButtonBox.Ok)
        self.buttonBox.setObjectName("buttonBox")
        self.gridLayout.addWidget(self.buttonBox, 8, 2, 1, 1)
        spacerItem = QtWidgets.QSpacerItem(20, 40,
                                           QtWidgets.QSizePolicy.Minimum,
                                           QtWidgets.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem, 7, 2, 1, 1)
        spacerItem1 = QtWidgets.QSpacerItem(20, 40,
                                            QtWidgets.QSizePolicy.Minimum,
                                            QtWidgets.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem1, 3, 0, 1, 1)
        spacerItem2 = QtWidgets.QSpacerItem(20, 40,
                                            QtWidgets.QSizePolicy.Minimum,
                                            QtWidgets.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem2, 1, 0, 1, 1)
        self.browse_button = QtWidgets.QToolButton(Dialog)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(I("document_open.png")),
                        QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.browse_button.setIcon(icon1)
        self.browse_button.setObjectName("browse_button")
        self.gridLayout.addWidget(self.browse_button, 2, 3, 1, 1)
        self.location = HistoryLineEdit(Dialog)
        self.location.setSizeAdjustPolicy(
            QtWidgets.QComboBox.AdjustToMinimumContentsLength)
        self.location.setMinimumContentsLength(40)
        self.location.setObjectName("location")
        self.gridLayout.addWidget(self.location, 2, 1, 1, 2)
        self.label_2.setBuddy(self.location)

        self.retranslateUi(Dialog)
        self.buttonBox.accepted.connect(Dialog.accept)
        self.buttonBox.rejected.connect(Dialog.reject)
        QtCore.QMetaObject.connectSlotsByName(Dialog)

    def retranslateUi(self, Dialog):

        Dialog.setWindowTitle(_("Choose your calibre library"))
        self.old_location.setText(
            _("Your calibre library is currently located at {0}"))
        self.label_2.setText(_("New &Location:"))
        self.existing_library.setText(
            _("Use the previously &existing library at the new location"))
        self.empty_library.setText(
            _("&Create an empty library at the new location"))
        self.copy_structure.setToolTip(
            _("Copy the custom columns, saved searches, column widths, plugboards,\n"
              "user categories, and other information from the old to the new library"
              ))
        self.copy_structure.setText(
            _("&Copy structure from the current library"))
        self.move_library.setText(_("&Move current library to new location"))
        self.browse_button.setText(_("..."))
Beispiel #13
0
class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName(_fromUtf8("Dialog"))
        Dialog.resize(691, 614)
        Dialog.setWindowTitle(_("Dialog"))
        self.verticalLayout = QtGui.QVBoxLayout(Dialog)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.horizontalLayout_2 = QtGui.QHBoxLayout()
        self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
        self.label = QtGui.QLabel(Dialog)
        self.label.setText(_("&Query:"))
        self.label.setObjectName(_fromUtf8("label"))
        self.horizontalLayout_2.addWidget(self.label)
        self.adv_search_button = QtGui.QToolButton(Dialog)
        self.adv_search_button.setText(_("..."))
        self.adv_search_button.setObjectName(_fromUtf8("adv_search_button"))
        self.horizontalLayout_2.addWidget(self.adv_search_button)
        self.search_query = HistoryLineEdit(Dialog)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.search_query.sizePolicy().hasHeightForWidth())
        self.search_query.setSizePolicy(sizePolicy)
        self.search_query.setObjectName(_fromUtf8("search_query"))
        self.horizontalLayout_2.addWidget(self.search_query)
        self.search_button = QtGui.QPushButton(Dialog)
        self.search_button.setText(_("Search"))
        self.search_button.setObjectName(_fromUtf8("search_button"))
        self.horizontalLayout_2.addWidget(self.search_button)
        self.verticalLayout.addLayout(self.horizontalLayout_2)
        self.results_view = QtGui.QTreeView(Dialog)
        self.results_view.setAlternatingRowColors(True)
        self.results_view.setRootIsDecorated(False)
        self.results_view.setItemsExpandable(False)
        self.results_view.setSortingEnabled(True)
        self.results_view.setExpandsOnDoubleClick(False)
        self.results_view.setObjectName(_fromUtf8("results_view"))
        self.results_view.header().setCascadingSectionResizes(False)
        self.verticalLayout.addWidget(self.results_view)
        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
        self.label_2 = QtGui.QLabel(Dialog)
        self.label_2.setText(_("Books:"))
        self.label_2.setObjectName(_fromUtf8("label_2"))
        self.horizontalLayout.addWidget(self.label_2)
        self.total = QtGui.QLabel(Dialog)
        self.total.setText(_("0"))
        self.total.setObjectName(_fromUtf8("total"))
        self.horizontalLayout.addWidget(self.total)
        spacerItem = QtGui.QSpacerItem(308, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem)
        self.close_button = QtGui.QPushButton(Dialog)
        self.close_button.setText(_("Close"))
        self.close_button.setObjectName(_fromUtf8("close_button"))
        self.horizontalLayout.addWidget(self.close_button)
        self.verticalLayout.addLayout(self.horizontalLayout)
        self.label.setBuddy(self.search_query)

        self.retranslateUi(Dialog)
        QtCore.QObject.connect(self.close_button, QtCore.SIGNAL(_fromUtf8("clicked()")), Dialog.accept)
        QtCore.QMetaObject.connectSlotsByName(Dialog)

    def retranslateUi(self, Dialog):
        pass
class Ui_TagListEditor(object):
    def setupUi(self, TagListEditor):
        TagListEditor.setObjectName("TagListEditor")
        TagListEditor.resize(397, 335)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(I("chapters.png")), QtGui.QIcon.Normal,
                       QtGui.QIcon.Off)
        TagListEditor.setWindowIcon(icon)
        self.gridlayout = QtWidgets.QGridLayout(TagListEditor)
        self.gridlayout.setObjectName("gridlayout")
        self.horizontalLayout_11 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_11.setObjectName("horizontalLayout_11")
        self.label = QtWidgets.QLabel(TagListEditor)
        self.label.setObjectName("label")
        self.horizontalLayout_11.addWidget(self.label)
        self.search_box = HistoryLineEdit(TagListEditor)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(100)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.search_box.sizePolicy().hasHeightForWidth())
        self.search_box.setSizePolicy(sizePolicy)
        self.search_box.setObjectName("search_box")
        self.horizontalLayout_11.addWidget(self.search_box)
        self.search_button = QtWidgets.QPushButton(TagListEditor)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(I("search.png")), QtGui.QIcon.Normal,
                        QtGui.QIcon.Off)
        self.search_button.setIcon(icon1)
        self.search_button.setObjectName("search_button")
        self.horizontalLayout_11.addWidget(self.search_button)
        self.gridlayout.addLayout(self.horizontalLayout_11, 0, 0, 1, 2)
        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.delete_button = QtWidgets.QToolButton(TagListEditor)
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(I("trash.png")), QtGui.QIcon.Normal,
                        QtGui.QIcon.Off)
        self.delete_button.setIcon(icon2)
        self.delete_button.setIconSize(QtCore.QSize(32, 32))
        self.delete_button.setObjectName("delete_button")
        self.verticalLayout_2.addWidget(self.delete_button)
        self.rename_button = QtWidgets.QToolButton(TagListEditor)
        icon3 = QtGui.QIcon()
        icon3.addPixmap(QtGui.QPixmap(I("edit_input.png")), QtGui.QIcon.Normal,
                        QtGui.QIcon.Off)
        self.rename_button.setIcon(icon3)
        self.rename_button.setIconSize(QtCore.QSize(32, 32))
        self.rename_button.setObjectName("rename_button")
        self.verticalLayout_2.addWidget(self.rename_button)
        self.undo_button = QtWidgets.QToolButton(TagListEditor)
        icon4 = QtGui.QIcon()
        icon4.addPixmap(QtGui.QPixmap(I("edit-undo.png")), QtGui.QIcon.Normal,
                        QtGui.QIcon.Off)
        self.undo_button.setIcon(icon4)
        self.undo_button.setIconSize(QtCore.QSize(32, 32))
        self.undo_button.setObjectName("undo_button")
        self.verticalLayout_2.addWidget(self.undo_button)
        self.gridlayout.addLayout(self.verticalLayout_2, 1, 0, 1, 1)
        self.table = QtWidgets.QTableWidget(TagListEditor)
        self.table.setAlternatingRowColors(True)
        self.table.setSelectionMode(
            QtWidgets.QAbstractItemView.ExtendedSelection)
        self.table.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
        self.table.setObjectName("table")
        self.table.setColumnCount(0)
        self.table.setRowCount(0)
        self.gridlayout.addWidget(self.table, 1, 1, 1, 1)
        self.buttonBox = QtWidgets.QDialogButtonBox(TagListEditor)
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel
                                          | QtWidgets.QDialogButtonBox.Ok)
        self.buttonBox.setCenterButtons(True)
        self.buttonBox.setObjectName("buttonBox")
        self.gridlayout.addWidget(self.buttonBox, 3, 0, 1, 2)
        self.label.setBuddy(self.search_box)

        self.retranslateUi(TagListEditor)
        self.buttonBox.accepted.connect(TagListEditor.accept)
        self.buttonBox.rejected.connect(TagListEditor.reject)
        QtCore.QMetaObject.connectSlotsByName(TagListEditor)

    def retranslateUi(self, TagListEditor):

        TagListEditor.setWindowTitle(_("Category editor"))
        self.label.setText(_("&Search for:"))
        self.search_box.setToolTip(_("Search for an item in the Tag column"))
        self.search_button.setToolTip(
            _("Display items containing the search string"))
        self.search_button.setText(_("&Find"))
        self.delete_button.setToolTip(
            _("Delete item from database. This will unapply the item from all books and then remove it from the database."
              ))
        self.delete_button.setText(_("..."))
        self.delete_button.setShortcut(_("Ctrl+D"))
        self.rename_button.setToolTip(
            _("Rename the item in every book where it is used."))
        self.rename_button.setText(_("..."))
        self.rename_button.setShortcut(_("Ctrl+R"))
        self.undo_button.setToolTip(
            _("Undo any deletes or edits on the selected lines"))
        self.undo_button.setText(_("..."))
        self.undo_button.setShortcut(_("Ctrl+U"))
Beispiel #15
0
class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName(_fromUtf8("Dialog"))
        Dialog.resize(602, 245)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(_fromUtf8(I("lt.png"))), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        Dialog.setWindowIcon(icon)
        self.gridLayout = QtGui.QGridLayout(Dialog)
        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
        self.old_location = QtGui.QLabel(Dialog)
        self.old_location.setWordWrap(True)
        self.old_location.setObjectName(_fromUtf8("old_location"))
        self.gridLayout.addWidget(self.old_location, 0, 0, 1, 4)
        self.label_2 = QtGui.QLabel(Dialog)
        self.label_2.setObjectName(_fromUtf8("label_2"))
        self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1)
        self.existing_library = QtGui.QRadioButton(Dialog)
        self.existing_library.setChecked(True)
        self.existing_library.setObjectName(_fromUtf8("existing_library"))
        self.gridLayout.addWidget(self.existing_library, 4, 0, 1, 4)
        self.hbox1 = QtGui.QHBoxLayout()
        self.hbox1.setObjectName(_fromUtf8("hbox1"))
        self.empty_library = QtGui.QRadioButton(Dialog)
        self.empty_library.setObjectName(_fromUtf8("empty_library"))
        self.hbox1.addWidget(self.empty_library)
        self.copy_structure = QtGui.QCheckBox(Dialog)
        self.copy_structure.setObjectName(_fromUtf8("copy_structure"))
        self.hbox1.addWidget(self.copy_structure)
        self.gridLayout.addLayout(self.hbox1, 5, 0, 1, 3)
        self.move_library = QtGui.QRadioButton(Dialog)
        self.move_library.setObjectName(_fromUtf8("move_library"))
        self.gridLayout.addWidget(self.move_library, 6, 0, 1, 3)
        self.buttonBox = QtGui.QDialogButtonBox(Dialog)
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
        self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
        self.gridLayout.addWidget(self.buttonBox, 8, 2, 1, 1)
        spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem, 7, 2, 1, 1)
        spacerItem1 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem1, 3, 0, 1, 1)
        spacerItem2 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem2, 1, 0, 1, 1)
        self.browse_button = QtGui.QToolButton(Dialog)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(_fromUtf8(I("document_open.png"))), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.browse_button.setIcon(icon1)
        self.browse_button.setObjectName(_fromUtf8("browse_button"))
        self.gridLayout.addWidget(self.browse_button, 2, 3, 1, 1)
        self.location = HistoryLineEdit(Dialog)
        self.location.setObjectName(_fromUtf8("location"))
        self.gridLayout.addWidget(self.location, 2, 1, 1, 2)
        self.label_2.setBuddy(self.location)

        self.retranslateUi(Dialog)
        QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept)
        QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject)
        QtCore.QMetaObject.connectSlotsByName(Dialog)

    def retranslateUi(self, Dialog):
        Dialog.setWindowTitle(_("Choose your calibre library"))
        self.old_location.setText(_("Your calibre library is currently located at {0}"))
        self.label_2.setText(_("New &Location:"))
        self.existing_library.setText(_("Use the previously &existing library at the new location"))
        self.empty_library.setText(_("&Create an empty library at the new location"))
        self.copy_structure.setText(_("&Copy structure from the current library"))
        self.copy_structure.setToolTip(_("Copy the custom columns, saved searches, column widths, plugboards,\n"
"user categories, and other information from the old to the new library"))
        self.move_library.setText(_("&Move current library to new location"))
        self.browse_button.setText(_("..."))
Beispiel #16
0
class Ui_TagListEditor(object):
    def setupUi(self, TagListEditor):
        TagListEditor.setObjectName("TagListEditor")
        TagListEditor.resize(676, 335)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(I("chapters.png")), QtGui.QIcon.Normal,
                       QtGui.QIcon.Off)
        TagListEditor.setWindowIcon(icon)
        self.gridlayout = QtWidgets.QGridLayout(TagListEditor)
        self.gridlayout.setObjectName("gridlayout")
        self.label = QtWidgets.QLabel(TagListEditor)
        self.label.setObjectName("label")
        self.gridlayout.addWidget(self.label, 0, 0, 1, 1)
        self.search_box = HistoryLineEdit(TagListEditor)
        self.search_box.setMinimumSize(QtCore.QSize(200, 0))
        self.search_box.setClearButtonEnabled(True)
        self.search_box.setObjectName("search_box")
        self.gridlayout.addWidget(self.search_box, 0, 1, 1, 1)
        self.search_button = QtWidgets.QPushButton(TagListEditor)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(I("search.png")), QtGui.QIcon.Normal,
                        QtGui.QIcon.Off)
        self.search_button.setIcon(icon1)
        self.search_button.setObjectName("search_button")
        self.gridlayout.addWidget(self.search_button, 0, 2, 1, 1)
        spacerItem = QtWidgets.QSpacerItem(40, 20,
                                           QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Minimum)
        self.gridlayout.addItem(spacerItem, 0, 3, 1, 1)
        self.apply_vl_checkbox = QtWidgets.QCheckBox(TagListEditor)
        self.apply_vl_checkbox.setObjectName("apply_vl_checkbox")
        self.gridlayout.addWidget(self.apply_vl_checkbox, 0, 4, 1, 1)
        self.label1 = QtWidgets.QLabel(TagListEditor)
        self.label1.setObjectName("label1")
        self.gridlayout.addWidget(self.label1, 1, 0, 1, 1)
        self.filter_box = HistoryLineEdit(TagListEditor)
        self.filter_box.setMinimumSize(QtCore.QSize(200, 0))
        self.filter_box.setClearButtonEnabled(True)
        self.filter_box.setObjectName("filter_box")
        self.gridlayout.addWidget(self.filter_box, 1, 1, 1, 1)
        self.filter_button = QtWidgets.QPushButton(TagListEditor)
        self.filter_button.setIcon(icon1)
        self.filter_button.setObjectName("filter_button")
        self.gridlayout.addWidget(self.filter_button, 1, 2, 1, 1)
        self.verticalLayout_2 = QtWidgets.QVBoxLayout()
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        spacerItem1 = QtWidgets.QSpacerItem(20, 40,
                                            QtWidgets.QSizePolicy.Minimum,
                                            QtWidgets.QSizePolicy.Expanding)
        self.verticalLayout_2.addItem(spacerItem1)
        self.delete_button = QtWidgets.QToolButton(TagListEditor)
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(I("trash.png")), QtGui.QIcon.Normal,
                        QtGui.QIcon.Off)
        self.delete_button.setIcon(icon2)
        self.delete_button.setIconSize(QtCore.QSize(32, 32))
        self.delete_button.setObjectName("delete_button")
        self.verticalLayout_2.addWidget(self.delete_button)
        spacerItem2 = QtWidgets.QSpacerItem(20, 40,
                                            QtWidgets.QSizePolicy.Minimum,
                                            QtWidgets.QSizePolicy.Expanding)
        self.verticalLayout_2.addItem(spacerItem2)
        self.rename_button = QtWidgets.QToolButton(TagListEditor)
        icon3 = QtGui.QIcon()
        icon3.addPixmap(QtGui.QPixmap(I("edit_input.png")), QtGui.QIcon.Normal,
                        QtGui.QIcon.Off)
        self.rename_button.setIcon(icon3)
        self.rename_button.setIconSize(QtCore.QSize(32, 32))
        self.rename_button.setObjectName("rename_button")
        self.verticalLayout_2.addWidget(self.rename_button)
        spacerItem3 = QtWidgets.QSpacerItem(20, 40,
                                            QtWidgets.QSizePolicy.Minimum,
                                            QtWidgets.QSizePolicy.Expanding)
        self.verticalLayout_2.addItem(spacerItem3)
        self.undo_button = QtWidgets.QToolButton(TagListEditor)
        icon4 = QtGui.QIcon()
        icon4.addPixmap(QtGui.QPixmap(I("edit-undo.png")), QtGui.QIcon.Normal,
                        QtGui.QIcon.Off)
        self.undo_button.setIcon(icon4)
        self.undo_button.setIconSize(QtCore.QSize(32, 32))
        self.undo_button.setObjectName("undo_button")
        self.verticalLayout_2.addWidget(self.undo_button)
        spacerItem4 = QtWidgets.QSpacerItem(20, 40,
                                            QtWidgets.QSizePolicy.Minimum,
                                            QtWidgets.QSizePolicy.Expanding)
        self.verticalLayout_2.addItem(spacerItem4)
        self.gridlayout.addLayout(self.verticalLayout_2, 2, 0, 1, 1)
        self.table = TleTableWidget(TagListEditor)
        self.table.setAlternatingRowColors(True)
        self.table.setSelectionMode(
            QtWidgets.QAbstractItemView.ExtendedSelection)
        self.table.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
        self.table.setObjectName("table")
        self.table.setColumnCount(0)
        self.table.setRowCount(0)
        self.gridlayout.addWidget(self.table, 2, 1, 1, 4)
        self.buttonBox = QtWidgets.QDialogButtonBox(TagListEditor)
        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel
                                          | QtWidgets.QDialogButtonBox.Ok)
        self.buttonBox.setObjectName("buttonBox")
        self.gridlayout.addWidget(self.buttonBox, 3, 0, 1, 5)
        self.label.setBuddy(self.search_box)
        self.label1.setBuddy(self.filter_box)

        self.retranslateUi(TagListEditor)
        self.buttonBox.accepted.connect(TagListEditor.accept)
        self.buttonBox.rejected.connect(TagListEditor.reject)
        QtCore.QMetaObject.connectSlotsByName(TagListEditor)

    def retranslateUi(self, TagListEditor):

        TagListEditor.setWindowTitle(_("Category editor"))
        self.label.setText(_("&Search for:"))
        self.search_box.setToolTip(_("Search for an item in the first column"))
        self.search_button.setToolTip(
            _("Find items containing the search string"))
        self.search_button.setText(_("S&earch"))
        self.apply_vl_checkbox.setToolTip(
            _("<p>Show items only if they appear in the\n"
              "          current Virtual library. Edits already done may be hidden but will\n"
              "          not be forgotten.</p>"))
        self.apply_vl_checkbox.setText(
            _("Only show items in the current &Virtual library"))
        self.label1.setText(_("&Filter by:"))
        self.filter_box.setToolTip(
            _("Filter items using the text in this box"))
        self.filter_button.setToolTip(
            _("Show only items containing this text"))
        self.filter_button.setText(_("F&ilter"))
        self.delete_button.setToolTip(
            _("Delete selected items from the database. This will unapply the items from all books and then remove them from the database."
              ))
        self.delete_button.setText(_("..."))
        self.delete_button.setShortcut(_("Ctrl+D"))
        self.rename_button.setToolTip(
            _("Rename the items in every book where they are used"))
        self.rename_button.setText(_("..."))
        self.rename_button.setShortcut(_("Ctrl+R"))
        self.undo_button.setToolTip(
            _("Undo any deletes or edits on the selected lines"))
        self.undo_button.setText(_("..."))
        self.undo_button.setShortcut(_("Ctrl+U"))
class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.resize(691, 614)
        self.verticalLayout = QtWidgets.QVBoxLayout(Dialog)
        self.verticalLayout.setObjectName("verticalLayout")
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.label = QtWidgets.QLabel(Dialog)
        self.label.setObjectName("label")
        self.horizontalLayout_2.addWidget(self.label)
        self.adv_search_button = QtWidgets.QToolButton(Dialog)
        self.adv_search_button.setObjectName("adv_search_button")
        self.horizontalLayout_2.addWidget(self.adv_search_button)
        self.search_query = HistoryLineEdit(Dialog)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.search_query.sizePolicy().hasHeightForWidth())
        self.search_query.setSizePolicy(sizePolicy)
        self.search_query.setObjectName("search_query")
        self.horizontalLayout_2.addWidget(self.search_query)
        self.search_button = QtWidgets.QPushButton(Dialog)
        self.search_button.setObjectName("search_button")
        self.horizontalLayout_2.addWidget(self.search_button)
        self.verticalLayout.addLayout(self.horizontalLayout_2)
        self.results_view = QtWidgets.QTreeView(Dialog)
        self.results_view.setAlternatingRowColors(True)
        self.results_view.setRootIsDecorated(False)
        self.results_view.setItemsExpandable(False)
        self.results_view.setSortingEnabled(True)
        self.results_view.setExpandsOnDoubleClick(False)
        self.results_view.setObjectName("results_view")
        self.results_view.header().setCascadingSectionResizes(False)
        self.verticalLayout.addWidget(self.results_view)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.label_2 = QtWidgets.QLabel(Dialog)
        self.label_2.setObjectName("label_2")
        self.horizontalLayout.addWidget(self.label_2)
        self.total = QtWidgets.QLabel(Dialog)
        self.total.setObjectName("total")
        self.horizontalLayout.addWidget(self.total)
        spacerItem = QtWidgets.QSpacerItem(308, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem)
        self.close_button = QtWidgets.QPushButton(Dialog)
        self.close_button.setObjectName("close_button")
        self.horizontalLayout.addWidget(self.close_button)
        self.verticalLayout.addLayout(self.horizontalLayout)
        self.label.setBuddy(self.search_query)

        self.retranslateUi(Dialog)
        self.close_button.clicked.connect(Dialog.accept)
        QtCore.QMetaObject.connectSlotsByName(Dialog)

    def retranslateUi(self, Dialog):

        Dialog.setWindowTitle(_("Dialog"))
        self.label.setText(_("&Query:"))
        self.adv_search_button.setText(_("..."))
        self.search_button.setText(_("Search"))
        self.label_2.setText(_("Books:"))
        self.total.setText(_("0"))
        self.close_button.setText(_("&Close"))
Beispiel #18
0
class Ui_MetadataBulkDialog(object):
    def setupUi(self, MetadataBulkDialog):
        MetadataBulkDialog.setObjectName(_fromUtf8("MetadataBulkDialog"))
        MetadataBulkDialog.resize(962, 645)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(_fromUtf8(I("edit_input.png"))), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        MetadataBulkDialog.setWindowIcon(icon)
        self.gridLayout_2 = QtGui.QGridLayout(MetadataBulkDialog)
        self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
        self.box_title = QtGui.QLabel(MetadataBulkDialog)
        self.box_title.setText(_fromUtf8(""))
        self.box_title.setAlignment(QtCore.Qt.AlignCenter)
        self.box_title.setObjectName(_fromUtf8("box_title"))
        self.gridLayout_2.addWidget(self.box_title, 0, 0, 1, 1)
        self.scrollArea = QtGui.QScrollArea(MetadataBulkDialog)
        self.scrollArea.setFrameShape(QtGui.QFrame.NoFrame)
        self.scrollArea.setLineWidth(0)
        self.scrollArea.setWidgetResizable(True)
        self.scrollArea.setObjectName(_fromUtf8("scrollArea"))
        self.scrollAreaWidgetContents = QtGui.QWidget()
        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 950, 576))
        self.scrollAreaWidgetContents.setObjectName(_fromUtf8("scrollAreaWidgetContents"))
        self.verticalLayout_2 = QtGui.QVBoxLayout(self.scrollAreaWidgetContents)
        self.verticalLayout_2.setMargin(0)
        self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
        self.central_widget = QtGui.QTabWidget(self.scrollAreaWidgetContents)
        self.central_widget.setObjectName(_fromUtf8("central_widget"))
        self.tabWidgetPage1 = QtGui.QWidget()
        self.tabWidgetPage1.setObjectName(_fromUtf8("tabWidgetPage1"))
        self.gridLayout = QtGui.QGridLayout(self.tabWidgetPage1)
        self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
        self.label_2 = QtGui.QLabel(self.tabWidgetPage1)
        self.label_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_2.setObjectName(_fromUtf8("label_2"))
        self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1)
        self.authors = EditWithComplete(self.tabWidgetPage1)
        self.authors.setEditable(True)
        self.authors.setObjectName(_fromUtf8("authors"))
        self.gridLayout.addWidget(self.authors, 0, 1, 1, 1)
        self.horizontalLayout_2 = QtGui.QHBoxLayout()
        self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
        self.auto_author_sort = QtGui.QCheckBox(self.tabWidgetPage1)
        self.auto_author_sort.setObjectName(_fromUtf8("auto_author_sort"))
        self.horizontalLayout_2.addWidget(self.auto_author_sort)
        self.swap_title_and_author = QtGui.QCheckBox(self.tabWidgetPage1)
        self.swap_title_and_author.setObjectName(_fromUtf8("swap_title_and_author"))
        self.horizontalLayout_2.addWidget(self.swap_title_and_author)
        self.gridLayout.addLayout(self.horizontalLayout_2, 1, 1, 1, 1)
        self.label_8 = QtGui.QLabel(self.tabWidgetPage1)
        self.label_8.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_8.setObjectName(_fromUtf8("label_8"))
        self.gridLayout.addWidget(self.label_8, 2, 0, 1, 1)
        self.author_sort = EnLineEdit(self.tabWidgetPage1)
        self.author_sort.setObjectName(_fromUtf8("author_sort"))
        self.gridLayout.addWidget(self.author_sort, 2, 1, 1, 1)
        self.label_6 = QtGui.QLabel(self.tabWidgetPage1)
        self.label_6.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_6.setObjectName(_fromUtf8("label_6"))
        self.gridLayout.addWidget(self.label_6, 3, 0, 1, 1)
        self.rating = QtGui.QSpinBox(self.tabWidgetPage1)
        self.rating.setButtonSymbols(QtGui.QAbstractSpinBox.PlusMinus)
        self.rating.setMinimum(-1)
        self.rating.setMaximum(5)
        self.rating.setProperty("value", -1)
        self.rating.setObjectName(_fromUtf8("rating"))
        self.gridLayout.addWidget(self.rating, 3, 1, 1, 1)
        self.label_3 = QtGui.QLabel(self.tabWidgetPage1)
        self.label_3.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_3.setObjectName(_fromUtf8("label_3"))
        self.gridLayout.addWidget(self.label_3, 4, 0, 1, 1)
        self.publisher = EditWithComplete(self.tabWidgetPage1)
        self.publisher.setEditable(True)
        self.publisher.setObjectName(_fromUtf8("publisher"))
        self.gridLayout.addWidget(self.publisher, 4, 1, 1, 1)
        self.label_4 = QtGui.QLabel(self.tabWidgetPage1)
        self.label_4.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_4.setObjectName(_fromUtf8("label_4"))
        self.gridLayout.addWidget(self.label_4, 5, 0, 1, 1)
        self.tags = EditWithComplete(self.tabWidgetPage1)
        self.tags.setObjectName(_fromUtf8("tags"))
        self.gridLayout.addWidget(self.tags, 5, 1, 1, 1)
        self.tag_editor_button = QtGui.QToolButton(self.tabWidgetPage1)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(_fromUtf8(I("chapters.png"))), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.tag_editor_button.setIcon(icon1)
        self.tag_editor_button.setObjectName(_fromUtf8("tag_editor_button"))
        self.gridLayout.addWidget(self.tag_editor_button, 5, 2, 1, 1)
        self.label = QtGui.QLabel(self.tabWidgetPage1)
        self.label.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label.setObjectName(_fromUtf8("label"))
        self.gridLayout.addWidget(self.label, 6, 0, 1, 1)
        self.remove_tags = EditWithComplete(self.tabWidgetPage1)
        self.remove_tags.setObjectName(_fromUtf8("remove_tags"))
        self.gridLayout.addWidget(self.remove_tags, 6, 1, 1, 1)
        self.remove_all_tags = QtGui.QCheckBox(self.tabWidgetPage1)
        self.remove_all_tags.setObjectName(_fromUtf8("remove_all_tags"))
        self.gridLayout.addWidget(self.remove_all_tags, 6, 2, 1, 1)
        self.label_7 = QtGui.QLabel(self.tabWidgetPage1)
        self.label_7.setTextFormat(QtCore.Qt.PlainText)
        self.label_7.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_7.setObjectName(_fromUtf8("label_7"))
        self.gridLayout.addWidget(self.label_7, 7, 0, 1, 1)
        self.series = EditWithComplete(self.tabWidgetPage1)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.series.sizePolicy().hasHeightForWidth())
        self.series.setSizePolicy(sizePolicy)
        self.series.setEditable(True)
        self.series.setInsertPolicy(QtGui.QComboBox.InsertAlphabetically)
        self.series.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToMinimumContentsLengthWithIcon)
        self.series.setMinimumContentsLength(40)
        self.series.setObjectName(_fromUtf8("series"))
        self.gridLayout.addWidget(self.series, 7, 1, 1, 1)
        self.clear_series = QtGui.QCheckBox(self.tabWidgetPage1)
        self.clear_series.setObjectName(_fromUtf8("clear_series"))
        self.gridLayout.addWidget(self.clear_series, 7, 2, 1, 1)
        self.HLayout_3 = QtGui.QHBoxLayout()
        self.HLayout_3.setObjectName(_fromUtf8("HLayout_3"))
        self.autonumber_series = QtGui.QCheckBox(self.tabWidgetPage1)
        self.autonumber_series.setEnabled(False)
        self.autonumber_series.setObjectName(_fromUtf8("autonumber_series"))
        self.HLayout_3.addWidget(self.autonumber_series)
        self.series_numbering_restarts = QtGui.QCheckBox(self.tabWidgetPage1)
        self.series_numbering_restarts.setEnabled(False)
        self.series_numbering_restarts.setObjectName(_fromUtf8("series_numbering_restarts"))
        self.HLayout_3.addWidget(self.series_numbering_restarts)
        self.series_start_number = QtGui.QSpinBox(self.tabWidgetPage1)
        self.series_start_number.setEnabled(False)
        self.series_start_number.setMinimum(1)
        self.series_start_number.setMaximum(99000000)
        self.series_start_number.setProperty("value", 1)
        self.series_start_number.setObjectName(_fromUtf8("series_start_number"))
        self.HLayout_3.addWidget(self.series_start_number)
        self.gridLayout.addLayout(self.HLayout_3, 8, 1, 1, 1)
        self.label_10 = QtGui.QLabel(self.tabWidgetPage1)
        self.label_10.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_10.setObjectName(_fromUtf8("label_10"))
        self.gridLayout.addWidget(self.label_10, 9, 0, 1, 1)
        self.horizontalLayout_5 = QtGui.QHBoxLayout()
        self.horizontalLayout_5.setObjectName(_fromUtf8("horizontalLayout_5"))
        self.adddate = QtGui.QDateTimeEdit(self.tabWidgetPage1)
        self.adddate.setCalendarPopup(True)
        self.adddate.setObjectName(_fromUtf8("adddate"))
        self.horizontalLayout_5.addWidget(self.adddate)
        self.clear_adddate_button = QtGui.QToolButton(self.tabWidgetPage1)
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap(_fromUtf8(I("trash.png"))), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.clear_adddate_button.setIcon(icon2)
        self.clear_adddate_button.setObjectName(_fromUtf8("clear_adddate_button"))
        self.horizontalLayout_5.addWidget(self.clear_adddate_button)
        self.gridLayout.addLayout(self.horizontalLayout_5, 9, 1, 1, 1)
        self.apply_adddate = QtGui.QCheckBox(self.tabWidgetPage1)
        self.apply_adddate.setObjectName(_fromUtf8("apply_adddate"))
        self.gridLayout.addWidget(self.apply_adddate, 9, 2, 1, 1)
        self.label_9 = QtGui.QLabel(self.tabWidgetPage1)
        self.label_9.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_9.setObjectName(_fromUtf8("label_9"))
        self.gridLayout.addWidget(self.label_9, 10, 0, 1, 1)
        self.horizontalLayout_4 = QtGui.QHBoxLayout()
        self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
        self.pubdate = QtGui.QDateTimeEdit(self.tabWidgetPage1)
        self.pubdate.setCalendarPopup(True)
        self.pubdate.setObjectName(_fromUtf8("pubdate"))
        self.horizontalLayout_4.addWidget(self.pubdate)
        self.clear_pubdate_button = QtGui.QToolButton(self.tabWidgetPage1)
        self.clear_pubdate_button.setIcon(icon2)
        self.clear_pubdate_button.setObjectName(_fromUtf8("clear_pubdate_button"))
        self.horizontalLayout_4.addWidget(self.clear_pubdate_button)
        self.gridLayout.addLayout(self.horizontalLayout_4, 10, 1, 1, 1)
        self.apply_pubdate = QtGui.QCheckBox(self.tabWidgetPage1)
        self.apply_pubdate.setObjectName(_fromUtf8("apply_pubdate"))
        self.gridLayout.addWidget(self.apply_pubdate, 10, 2, 1, 1)
        self.label_11 = QtGui.QLabel(self.tabWidgetPage1)
        self.label_11.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_11.setObjectName(_fromUtf8("label_11"))
        self.gridLayout.addWidget(self.label_11, 11, 0, 1, 1)
        self.languages = LanguagesEdit(self.tabWidgetPage1)
        self.languages.setObjectName(_fromUtf8("languages"))
        self.gridLayout.addWidget(self.languages, 11, 1, 1, 1)
        self.clear_languages = QtGui.QCheckBox(self.tabWidgetPage1)
        self.clear_languages.setObjectName(_fromUtf8("clear_languages"))
        self.gridLayout.addWidget(self.clear_languages, 11, 2, 1, 1)
        self.label_5 = QtGui.QLabel(self.tabWidgetPage1)
        self.label_5.setObjectName(_fromUtf8("label_5"))
        self.gridLayout.addWidget(self.label_5, 12, 0, 1, 1)
        self.horizontalLayout_7 = QtGui.QHBoxLayout()
        self.horizontalLayout_7.setObjectName(_fromUtf8("horizontalLayout_7"))
        self.remove_format = QtGui.QComboBox(self.tabWidgetPage1)
        self.remove_format.setMaximumSize(QtCore.QSize(120, 16777215))
        self.remove_format.setObjectName(_fromUtf8("remove_format"))
        self.horizontalLayout_7.addWidget(self.remove_format)
        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_7.addItem(spacerItem)
        self.restore_original = QtGui.QCheckBox(self.tabWidgetPage1)
        self.restore_original.setObjectName(_fromUtf8("restore_original"))
        self.horizontalLayout_7.addWidget(self.restore_original)
        self.gridLayout.addLayout(self.horizontalLayout_7, 12, 1, 1, 1)
        spacerItem1 = QtGui.QSpacerItem(20, 15, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
        self.gridLayout.addItem(spacerItem1, 13, 0, 1, 1)
        self.horizontalLayout_3 = QtGui.QHBoxLayout()
        self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
        self.change_title_to_title_case = QtGui.QCheckBox(self.tabWidgetPage1)
        self.change_title_to_title_case.setObjectName(_fromUtf8("change_title_to_title_case"))
        self.horizontalLayout_3.addWidget(self.change_title_to_title_case)
        self.update_title_sort = QtGui.QCheckBox(self.tabWidgetPage1)
        self.update_title_sort.setObjectName(_fromUtf8("update_title_sort"))
        self.horizontalLayout_3.addWidget(self.update_title_sort)
        spacerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_3.addItem(spacerItem2)
        self.remove_conversion_settings = QtGui.QCheckBox(self.tabWidgetPage1)
        self.remove_conversion_settings.setObjectName(_fromUtf8("remove_conversion_settings"))
        self.horizontalLayout_3.addWidget(self.remove_conversion_settings)
        self.gridLayout.addLayout(self.horizontalLayout_3, 14, 0, 1, 2)
        self.groupBox = QtGui.QGroupBox(self.tabWidgetPage1)
        self.groupBox.setObjectName(_fromUtf8("groupBox"))
        self.horizontalLayout = QtGui.QHBoxLayout(self.groupBox)
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
        self.cover_generate = QtGui.QRadioButton(self.groupBox)
        self.cover_generate.setObjectName(_fromUtf8("cover_generate"))
        self.horizontalLayout.addWidget(self.cover_generate)
        self.cover_remove = QtGui.QRadioButton(self.groupBox)
        self.cover_remove.setObjectName(_fromUtf8("cover_remove"))
        self.horizontalLayout.addWidget(self.cover_remove)
        self.cover_from_fmt = QtGui.QRadioButton(self.groupBox)
        self.cover_from_fmt.setObjectName(_fromUtf8("cover_from_fmt"))
        self.horizontalLayout.addWidget(self.cover_from_fmt)
        self.gridLayout.addWidget(self.groupBox, 15, 0, 1, 2)
        spacerItem3 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
        self.gridLayout.addItem(spacerItem3, 16, 0, 1, 1)
        self.central_widget.addTab(self.tabWidgetPage1, _fromUtf8(""))
        self.tab = QtGui.QWidget()
        self.tab.setObjectName(_fromUtf8("tab"))
        self.central_widget.addTab(self.tab, _fromUtf8(""))
        self.tabWidgetPage3 = QtGui.QWidget()
        self.tabWidgetPage3.setObjectName(_fromUtf8("tabWidgetPage3"))
        self.vargrid = QtGui.QGridLayout(self.tabWidgetPage3)
        self.vargrid.setSizeConstraint(QtGui.QLayout.SetMinimumSize)
        self.vargrid.setObjectName(_fromUtf8("vargrid"))
        self.s_r_heading = QtGui.QLabel(self.tabWidgetPage3)
        self.s_r_heading.setWordWrap(True)
        self.s_r_heading.setOpenExternalLinks(True)
        self.s_r_heading.setObjectName(_fromUtf8("s_r_heading"))
        self.vargrid.addWidget(self.s_r_heading, 0, 0, 1, 4)
        self.filler = QtGui.QLabel(self.tabWidgetPage3)
        self.filler.setText(_fromUtf8(""))
        self.filler.setObjectName(_fromUtf8("filler"))
        self.vargrid.addWidget(self.filler, 1, 0, 1, 1)
        self.line = QtGui.QFrame(self.tabWidgetPage3)
        self.line.setFrameShape(QtGui.QFrame.HLine)
        self.line.setFrameShadow(QtGui.QFrame.Sunken)
        self.line.setObjectName(_fromUtf8("line"))
        self.vargrid.addWidget(self.line, 2, 0, 1, 3)
        self.xlabel_22 = QtGui.QLabel(self.tabWidgetPage3)
        self.xlabel_22.setObjectName(_fromUtf8("xlabel_22"))
        self.vargrid.addWidget(self.xlabel_22, 3, 0, 1, 1)
        self.query_field = QtGui.QComboBox(self.tabWidgetPage3)
        self.query_field.setObjectName(_fromUtf8("query_field"))
        self.vargrid.addWidget(self.query_field, 3, 1, 1, 1)
        self.horizontalLayout_6 = QtGui.QHBoxLayout()
        self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6"))
        spacerItem4 = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_6.addItem(spacerItem4)
        self.save_button = QtGui.QPushButton(self.tabWidgetPage3)
        self.save_button.setObjectName(_fromUtf8("save_button"))
        self.horizontalLayout_6.addWidget(self.save_button)
        self.remove_button = QtGui.QPushButton(self.tabWidgetPage3)
        self.remove_button.setObjectName(_fromUtf8("remove_button"))
        self.horizontalLayout_6.addWidget(self.remove_button)
        spacerItem5 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_6.addItem(spacerItem5)
        self.vargrid.addLayout(self.horizontalLayout_6, 3, 2, 1, 1)
        self.xlabel_21 = QtGui.QLabel(self.tabWidgetPage3)
        self.xlabel_21.setObjectName(_fromUtf8("xlabel_21"))
        self.vargrid.addWidget(self.xlabel_21, 4, 0, 1, 1)
        self.search_field = QtGui.QComboBox(self.tabWidgetPage3)
        self.search_field.setObjectName(_fromUtf8("search_field"))
        self.vargrid.addWidget(self.search_field, 4, 1, 1, 1)
        self.HLayout_31 = QtGui.QHBoxLayout()
        self.HLayout_31.setObjectName(_fromUtf8("HLayout_31"))
        self.xlabel_24 = QtGui.QLabel(self.tabWidgetPage3)
        self.xlabel_24.setObjectName(_fromUtf8("xlabel_24"))
        self.HLayout_31.addWidget(self.xlabel_24)
        self.search_mode = QtGui.QComboBox(self.tabWidgetPage3)
        self.search_mode.setObjectName(_fromUtf8("search_mode"))
        self.HLayout_31.addWidget(self.search_mode)
        spacerItem6 = QtGui.QSpacerItem(20, 10, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.HLayout_31.addItem(spacerItem6)
        self.vargrid.addLayout(self.HLayout_31, 4, 2, 1, 1)
        self.s_r_src_ident_label = QtGui.QLabel(self.tabWidgetPage3)
        self.s_r_src_ident_label.setObjectName(_fromUtf8("s_r_src_ident_label"))
        self.vargrid.addWidget(self.s_r_src_ident_label, 5, 0, 1, 1)
        self.s_r_src_ident = QtGui.QComboBox(self.tabWidgetPage3)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(100)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.s_r_src_ident.sizePolicy().hasHeightForWidth())
        self.s_r_src_ident.setSizePolicy(sizePolicy)
        self.s_r_src_ident.setObjectName(_fromUtf8("s_r_src_ident"))
        self.vargrid.addWidget(self.s_r_src_ident, 5, 1, 1, 1)
        self.template_label = QtGui.QLabel(self.tabWidgetPage3)
        self.template_label.setObjectName(_fromUtf8("template_label"))
        self.vargrid.addWidget(self.template_label, 5, 0, 1, 1)
        self.s_r_template = HistoryLineEdit(self.tabWidgetPage3)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(100)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.s_r_template.sizePolicy().hasHeightForWidth())
        self.s_r_template.setSizePolicy(sizePolicy)
        self.s_r_template.setObjectName(_fromUtf8("s_r_template"))
        self.vargrid.addWidget(self.s_r_template, 5, 1, 1, 1)
        self.xlabel_2 = QtGui.QLabel(self.tabWidgetPage3)
        self.xlabel_2.setObjectName(_fromUtf8("xlabel_2"))
        self.vargrid.addWidget(self.xlabel_2, 6, 0, 1, 1)
        self.search_for = HistoryLineEdit(self.tabWidgetPage3)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(100)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.search_for.sizePolicy().hasHeightForWidth())
        self.search_for.setSizePolicy(sizePolicy)
        self.search_for.setObjectName(_fromUtf8("search_for"))
        self.vargrid.addWidget(self.search_for, 6, 1, 1, 1)
        self.case_sensitive = QtGui.QCheckBox(self.tabWidgetPage3)
        self.case_sensitive.setChecked(True)
        self.case_sensitive.setObjectName(_fromUtf8("case_sensitive"))
        self.vargrid.addWidget(self.case_sensitive, 6, 2, 1, 1)
        self.xlabel_4 = QtGui.QLabel(self.tabWidgetPage3)
        self.xlabel_4.setObjectName(_fromUtf8("xlabel_4"))
        self.vargrid.addWidget(self.xlabel_4, 7, 0, 1, 1)
        self.replace_with = HistoryLineEdit(self.tabWidgetPage3)
        self.replace_with.setObjectName(_fromUtf8("replace_with"))
        self.vargrid.addWidget(self.replace_with, 7, 1, 1, 1)
        self.verticalLayout = QtGui.QHBoxLayout()
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.label_41 = QtGui.QLabel(self.tabWidgetPage3)
        self.label_41.setObjectName(_fromUtf8("label_41"))
        self.verticalLayout.addWidget(self.label_41)
        self.replace_func = QtGui.QComboBox(self.tabWidgetPage3)
        self.replace_func.setObjectName(_fromUtf8("replace_func"))
        self.verticalLayout.addWidget(self.replace_func)
        spacerItem7 = QtGui.QSpacerItem(20, 10, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.verticalLayout.addItem(spacerItem7)
        self.vargrid.addLayout(self.verticalLayout, 7, 2, 1, 1)
        self.destination_field_label = QtGui.QLabel(self.tabWidgetPage3)
        self.destination_field_label.setObjectName(_fromUtf8("destination_field_label"))
        self.vargrid.addWidget(self.destination_field_label, 8, 0, 1, 1)
        self.destination_field = QtGui.QComboBox(self.tabWidgetPage3)
        self.destination_field.setObjectName(_fromUtf8("destination_field"))
        self.vargrid.addWidget(self.destination_field, 8, 1, 1, 1)
        self.verticalLayout1 = QtGui.QHBoxLayout()
        self.verticalLayout1.setObjectName(_fromUtf8("verticalLayout1"))
        self.replace_mode_label = QtGui.QLabel(self.tabWidgetPage3)
        self.replace_mode_label.setObjectName(_fromUtf8("replace_mode_label"))
        self.verticalLayout1.addWidget(self.replace_mode_label)
        self.replace_mode = QtGui.QComboBox(self.tabWidgetPage3)
        self.replace_mode.setObjectName(_fromUtf8("replace_mode"))
        self.verticalLayout1.addWidget(self.replace_mode)
        self.comma_separated = QtGui.QCheckBox(self.tabWidgetPage3)
        self.comma_separated.setChecked(True)
        self.comma_separated.setObjectName(_fromUtf8("comma_separated"))
        self.verticalLayout1.addWidget(self.comma_separated)
        spacerItem8 = QtGui.QSpacerItem(20, 10, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.verticalLayout1.addItem(spacerItem8)
        self.vargrid.addLayout(self.verticalLayout1, 8, 2, 1, 1)
        self.s_r_dst_ident_label = QtGui.QLabel(self.tabWidgetPage3)
        self.s_r_dst_ident_label.setObjectName(_fromUtf8("s_r_dst_ident_label"))
        self.vargrid.addWidget(self.s_r_dst_ident_label, 9, 0, 1, 1)
        self.s_r_dst_ident = QtGui.QLineEdit(self.tabWidgetPage3)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(100)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.s_r_dst_ident.sizePolicy().hasHeightForWidth())
        self.s_r_dst_ident.setSizePolicy(sizePolicy)
        self.s_r_dst_ident.setObjectName(_fromUtf8("s_r_dst_ident"))
        self.vargrid.addWidget(self.s_r_dst_ident, 9, 1, 1, 1)
        self.horizontalLayout_21 = QtGui.QHBoxLayout()
        self.horizontalLayout_21.setObjectName(_fromUtf8("horizontalLayout_21"))
        spacerItem9 = QtGui.QSpacerItem(20, 0, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_21.addItem(spacerItem9)
        self.xlabel_412 = QtGui.QLabel(self.tabWidgetPage3)
        self.xlabel_412.setObjectName(_fromUtf8("xlabel_412"))
        self.horizontalLayout_21.addWidget(self.xlabel_412)
        self.results_count = QtGui.QSpinBox(self.tabWidgetPage3)
        self.results_count.setEnabled(True)
        self.results_count.setMinimum(1)
        self.results_count.setMaximum(999)
        self.results_count.setProperty("value", 999)
        self.results_count.setObjectName(_fromUtf8("results_count"))
        self.horizontalLayout_21.addWidget(self.results_count)
        self.xlabel_4121 = QtGui.QLabel(self.tabWidgetPage3)
        self.xlabel_4121.setObjectName(_fromUtf8("xlabel_4121"))
        self.horizontalLayout_21.addWidget(self.xlabel_4121)
        self.starting_from = QtGui.QSpinBox(self.tabWidgetPage3)
        self.starting_from.setEnabled(True)
        self.starting_from.setMinimum(1)
        self.starting_from.setMaximum(999)
        self.starting_from.setProperty("value", 1)
        self.starting_from.setObjectName(_fromUtf8("starting_from"))
        self.horizontalLayout_21.addWidget(self.starting_from)
        self.xlabel_41 = QtGui.QLabel(self.tabWidgetPage3)
        self.xlabel_41.setObjectName(_fromUtf8("xlabel_41"))
        self.horizontalLayout_21.addWidget(self.xlabel_41)
        self.multiple_separator = QtGui.QLineEdit(self.tabWidgetPage3)
        self.multiple_separator.setObjectName(_fromUtf8("multiple_separator"))
        self.horizontalLayout_21.addWidget(self.multiple_separator)
        self.vargrid.addLayout(self.horizontalLayout_21, 10, 1, 1, 2)
        self.scrollArea11 = QtGui.QScrollArea(self.tabWidgetPage3)
        self.scrollArea11.setFrameShape(QtGui.QFrame.NoFrame)
        self.scrollArea11.setWidgetResizable(True)
        self.scrollArea11.setObjectName(_fromUtf8("scrollArea11"))
        self.gridLayoutWidget_2 = QtGui.QWidget()
        self.gridLayoutWidget_2.setGeometry(QtCore.QRect(0, 0, 205, 66))
        self.gridLayoutWidget_2.setObjectName(_fromUtf8("gridLayoutWidget_2"))
        self.testgrid = QtGui.QGridLayout(self.gridLayoutWidget_2)
        self.testgrid.setObjectName(_fromUtf8("testgrid"))
        self.xlabel_3 = QtGui.QLabel(self.gridLayoutWidget_2)
        self.xlabel_3.setObjectName(_fromUtf8("xlabel_3"))
        self.testgrid.addWidget(self.xlabel_3, 7, 1, 1, 1)
        self.xlabel_31 = QtGui.QLabel(self.gridLayoutWidget_2)
        self.xlabel_31.setObjectName(_fromUtf8("xlabel_31"))
        self.testgrid.addWidget(self.xlabel_31, 7, 2, 1, 1)
        self.label_31 = QtGui.QLabel(self.gridLayoutWidget_2)
        self.label_31.setObjectName(_fromUtf8("label_31"))
        self.testgrid.addWidget(self.label_31, 8, 0, 1, 1)
        self.test_text = HistoryLineEdit(self.gridLayoutWidget_2)
        self.test_text.setObjectName(_fromUtf8("test_text"))
        self.testgrid.addWidget(self.test_text, 8, 1, 1, 1)
        self.test_result = QtGui.QLineEdit(self.gridLayoutWidget_2)
        self.test_result.setObjectName(_fromUtf8("test_result"))
        self.testgrid.addWidget(self.test_result, 8, 2, 1, 1)
        spacerItem10 = QtGui.QSpacerItem(20, 5, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
        self.testgrid.addItem(spacerItem10, 25, 0, 1, 2)
        self.scrollArea11.setWidget(self.gridLayoutWidget_2)
        self.vargrid.addWidget(self.scrollArea11, 11, 0, 1, 4)
        self.central_widget.addTab(self.tabWidgetPage3, _fromUtf8(""))
        self.verticalLayout_2.addWidget(self.central_widget)
        self.scrollArea.setWidget(self.scrollAreaWidgetContents)
        self.gridLayout_2.addWidget(self.scrollArea, 1, 0, 1, 1)
        self.button_box = QtGui.QDialogButtonBox(MetadataBulkDialog)
        self.button_box.setOrientation(QtCore.Qt.Horizontal)
        self.button_box.setStandardButtons(QtGui.QDialogButtonBox.Apply|QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
        self.button_box.setObjectName(_fromUtf8("button_box"))
        self.gridLayout_2.addWidget(self.button_box, 2, 0, 1, 1)
        self.label_2.setBuddy(self.authors)
        self.label_8.setBuddy(self.author_sort)
        self.label_6.setBuddy(self.rating)
        self.label_3.setBuddy(self.publisher)
        self.label_4.setBuddy(self.tags)
        self.label.setBuddy(self.remove_tags)
        self.label_7.setBuddy(self.series)
        self.label_10.setBuddy(self.adddate)
        self.label_9.setBuddy(self.pubdate)
        self.label_11.setBuddy(self.languages)
        self.label_5.setBuddy(self.remove_format)
        self.xlabel_22.setBuddy(self.search_field)
        self.xlabel_21.setBuddy(self.search_field)
        self.xlabel_24.setBuddy(self.search_mode)
        self.s_r_src_ident_label.setBuddy(self.s_r_src_ident)
        self.template_label.setBuddy(self.s_r_template)
        self.xlabel_2.setBuddy(self.search_for)
        self.xlabel_4.setBuddy(self.replace_with)
        self.label_41.setBuddy(self.replace_func)
        self.destination_field_label.setBuddy(self.destination_field)
        self.replace_mode_label.setBuddy(self.replace_mode)
        self.s_r_dst_ident_label.setBuddy(self.s_r_dst_ident)
        self.xlabel_412.setBuddy(self.results_count)
        self.xlabel_4121.setBuddy(self.starting_from)
        self.xlabel_41.setBuddy(self.multiple_separator)

        self.retranslateUi(MetadataBulkDialog)
        self.central_widget.setCurrentIndex(0)
        QtCore.QObject.connect(self.button_box, QtCore.SIGNAL(_fromUtf8("accepted()")), MetadataBulkDialog.accept)
        QtCore.QObject.connect(self.button_box, QtCore.SIGNAL(_fromUtf8("rejected()")), MetadataBulkDialog.reject)
        QtCore.QMetaObject.connectSlotsByName(MetadataBulkDialog)
        MetadataBulkDialog.setTabOrder(self.authors, self.auto_author_sort)
        MetadataBulkDialog.setTabOrder(self.auto_author_sort, self.swap_title_and_author)
        MetadataBulkDialog.setTabOrder(self.swap_title_and_author, self.author_sort)
        MetadataBulkDialog.setTabOrder(self.author_sort, self.rating)
        MetadataBulkDialog.setTabOrder(self.rating, self.publisher)
        MetadataBulkDialog.setTabOrder(self.publisher, self.tags)
        MetadataBulkDialog.setTabOrder(self.tags, self.tag_editor_button)
        MetadataBulkDialog.setTabOrder(self.tag_editor_button, self.remove_tags)
        MetadataBulkDialog.setTabOrder(self.remove_tags, self.remove_all_tags)
        MetadataBulkDialog.setTabOrder(self.remove_all_tags, self.series)
        MetadataBulkDialog.setTabOrder(self.series, self.clear_series)
        MetadataBulkDialog.setTabOrder(self.clear_series, self.autonumber_series)
        MetadataBulkDialog.setTabOrder(self.autonumber_series, self.series_numbering_restarts)
        MetadataBulkDialog.setTabOrder(self.series_numbering_restarts, self.series_start_number)
        MetadataBulkDialog.setTabOrder(self.series_start_number, self.adddate)
        MetadataBulkDialog.setTabOrder(self.adddate, self.clear_adddate_button)
        MetadataBulkDialog.setTabOrder(self.clear_adddate_button, self.apply_adddate)
        MetadataBulkDialog.setTabOrder(self.apply_adddate, self.pubdate)
        MetadataBulkDialog.setTabOrder(self.pubdate, self.clear_pubdate_button)
        MetadataBulkDialog.setTabOrder(self.clear_pubdate_button, self.apply_pubdate)
        MetadataBulkDialog.setTabOrder(self.apply_pubdate, self.languages)
        MetadataBulkDialog.setTabOrder(self.languages, self.clear_languages)
        MetadataBulkDialog.setTabOrder(self.clear_languages, self.remove_format)
        MetadataBulkDialog.setTabOrder(self.remove_format, self.restore_original)
        MetadataBulkDialog.setTabOrder(self.restore_original, self.change_title_to_title_case)
        MetadataBulkDialog.setTabOrder(self.change_title_to_title_case, self.update_title_sort)
        MetadataBulkDialog.setTabOrder(self.update_title_sort, self.remove_conversion_settings)
        MetadataBulkDialog.setTabOrder(self.remove_conversion_settings, self.cover_generate)
        MetadataBulkDialog.setTabOrder(self.cover_generate, self.cover_remove)
        MetadataBulkDialog.setTabOrder(self.cover_remove, self.cover_from_fmt)
        MetadataBulkDialog.setTabOrder(self.cover_from_fmt, self.multiple_separator)
        MetadataBulkDialog.setTabOrder(self.multiple_separator, self.test_text)
        MetadataBulkDialog.setTabOrder(self.test_text, self.test_result)
        MetadataBulkDialog.setTabOrder(self.test_result, self.scrollArea)
        MetadataBulkDialog.setTabOrder(self.scrollArea, self.central_widget)
        MetadataBulkDialog.setTabOrder(self.central_widget, self.query_field)
        MetadataBulkDialog.setTabOrder(self.query_field, self.button_box)
        MetadataBulkDialog.setTabOrder(self.button_box, self.save_button)
        MetadataBulkDialog.setTabOrder(self.save_button, self.remove_button)
        MetadataBulkDialog.setTabOrder(self.remove_button, self.search_field)
        MetadataBulkDialog.setTabOrder(self.search_field, self.search_mode)
        MetadataBulkDialog.setTabOrder(self.search_mode, self.s_r_src_ident)
        MetadataBulkDialog.setTabOrder(self.s_r_src_ident, self.s_r_template)
        MetadataBulkDialog.setTabOrder(self.s_r_template, self.replace_with)
        MetadataBulkDialog.setTabOrder(self.replace_with, self.replace_func)
        MetadataBulkDialog.setTabOrder(self.replace_func, self.replace_mode)
        MetadataBulkDialog.setTabOrder(self.replace_mode, self.comma_separated)
        MetadataBulkDialog.setTabOrder(self.comma_separated, self.s_r_dst_ident)
        MetadataBulkDialog.setTabOrder(self.s_r_dst_ident, self.results_count)
        MetadataBulkDialog.setTabOrder(self.results_count, self.scrollArea11)
        MetadataBulkDialog.setTabOrder(self.scrollArea11, self.destination_field)
        MetadataBulkDialog.setTabOrder(self.destination_field, self.search_for)
        MetadataBulkDialog.setTabOrder(self.search_for, self.case_sensitive)
        MetadataBulkDialog.setTabOrder(self.case_sensitive, self.starting_from)

    def retranslateUi(self, MetadataBulkDialog):
        MetadataBulkDialog.setWindowTitle(_("Edit Meta information"))
        self.label_2.setText(_("&Author(s): "))
        self.auto_author_sort.setText(_("A&utomatically set author sort"))
        self.swap_title_and_author.setText(_("&Swap title and author"))
        self.label_8.setText(_("Author s&ort: "))
        self.author_sort.setToolTip(_("Specify how the author(s) of this book should be sorted. For example Charles Dickens should be sorted as Dickens, Charles."))
        self.label_6.setText(_("&Rating:"))
        self.rating.setToolTip(_("Rating of this book. 0-5 stars"))
        self.rating.setWhatsThis(_("Rating of this book. 0-5 stars"))
        self.rating.setSpecialValueText(_("No change"))
        self.rating.setSuffix(_(" stars"))
        self.label_3.setText(_("&Publisher: "))
        self.label_4.setText(_("Add ta&gs: "))
        self.tags.setToolTip(_("Tags categorize the book. This is particularly useful while searching. <br><br>They can be any words or phrases, separated by commas."))
        self.tag_editor_button.setToolTip(_("Open Tag Editor"))
        self.tag_editor_button.setText(_("Open Tag Editor"))
        self.label.setText(_("&Remove tags:"))
        self.remove_tags.setToolTip(_("Comma separated list of tags to remove from the books. "))
        self.remove_all_tags.setToolTip(_("Check this box to remove all tags from the books."))
        self.remove_all_tags.setText(_("Remove &all"))
        self.label_7.setText(_("&Series:"))
        self.series.setToolTip(_("List of known series. You can add new series."))
        self.series.setWhatsThis(_("List of known series. You can add new series."))
        self.clear_series.setToolTip(_("If checked, the series will be cleared"))
        self.clear_series.setText(_("&Clear series"))
        self.autonumber_series.setToolTip(_("If not checked, the series number for the books will be set to 1.\n"
"If checked, selected books will be automatically numbered, in the order\n"
"you selected them. So if you selected Book A and then Book B,\n"
"Book A will have series number 1 and Book B series number 2."))
        self.autonumber_series.setText(_("&Automatically number books in this series"))
        self.series_numbering_restarts.setToolTip(_("Series will normally be renumbered from the highest number in the database\n"
"for that series. Checking this box will tell calibre to start numbering\n"
"from the value in the box"))
        self.series_numbering_restarts.setText(_("&Force numbers to start with:"))
        self.label_10.setText(_("&Date:"))
        self.adddate.setDisplayFormat(_("d MMM yyyy"))
        self.clear_adddate_button.setText(_("..."))
        self.apply_adddate.setText(_("&Apply date"))
        self.label_9.setText(_("&Published:"))
        self.pubdate.setDisplayFormat("MMM yyyy")
        self.clear_pubdate_button.setToolTip(_("Clear published date"))
        self.clear_pubdate_button.setText(_("..."))
        self.apply_pubdate.setText(_("&Apply date"))
        self.label_11.setText(_("&Languages:"))
        self.clear_languages.setText(_("Remove &all"))
        self.label_5.setText(_("Remove &format:"))
        self.restore_original.setToolTip(_("When doing a same format to same format conversion, for e.g., EPUB to EPUB, calibre saves the original EPUB as ORIGINAL_EPUB. This option tells calibre to restore the EPUB from ORIGINAL_EPUB. Useful if you did a bulk conversion of a large number of books and something went wrong."))
        self.restore_original.setText(_("Restore pre conversion &originals, if available"))
        self.change_title_to_title_case.setToolTip(_("Force the title to be in title case. If both this and swap authors are checked,\n"
"title and author are swapped before the title case is set"))
        self.change_title_to_title_case.setText(_("Change title to title &case"))
        self.update_title_sort.setToolTip(_("Update title sort based on the current title. This will be applied only after other changes to title."))
        self.update_title_sort.setText(_("Update &title sort"))
        self.remove_conversion_settings.setToolTip(_("Remove stored conversion settings for the selected books.\n"
"\n"
"Future conversion of these books will use the default settings."))
        self.remove_conversion_settings.setText(_("Remove &stored conversion settings for the selected books"))
        self.groupBox.setTitle(_("Change &cover"))
        self.cover_generate.setText(_("&Generate default cover"))
        self.cover_remove.setText(_("&Remove cover"))
        self.cover_from_fmt.setText(_("Set from &ebook file(s)"))
        self.central_widget.setTabText(self.central_widget.indexOf(self.tabWidgetPage1), _("&Basic metadata"))
        self.central_widget.setTabText(self.central_widget.indexOf(self.tab), _("&Custom metadata"))
        self.xlabel_22.setText(_("Load searc&h/replace:"))
        self.query_field.setToolTip(_("Select saved search/replace to load."))
        self.save_button.setToolTip(_("Save current search/replace"))
        self.save_button.setText(_("Sa&ve"))
        self.remove_button.setToolTip(_("Delete saved search/replace"))
        self.remove_button.setText(_("Delete"))
        self.xlabel_21.setText(_("Search &field:"))
        self.search_field.setToolTip(_("The name of the field that you want to search"))
        self.xlabel_24.setText(_("Search &mode:"))
        self.search_mode.setToolTip(_("Choose whether to use basic text matching or advanced regular expression matching"))
        self.s_r_src_ident_label.setText(_("Identifier type:"))
        self.s_r_src_ident.setToolTip(_("Choose which identifier type to operate upon"))
        self.template_label.setText(_("Te&mplate:"))
        self.s_r_template.setToolTip(_("Enter a template to be used as the source for the search/replace"))
        self.xlabel_2.setText(_("&Search for:"))
        self.search_for.setToolTip(_("Enter what you are looking for, either plain text or a regular expression, depending on the mode"))
        self.case_sensitive.setToolTip(_("Check this box if the search string must match exactly upper and lower case. Uncheck it if case is to be ignored"))
        self.case_sensitive.setText(_("Cas&e sensitive"))
        self.xlabel_4.setText(_("&Replace with:"))
        self.replace_with.setToolTip(_("The replacement text. The matched search text will be replaced with this string"))
        self.label_41.setText(_("&Apply function after replace:"))
        self.replace_func.setToolTip(_("Specify how the text is to be processed after matching and replacement. In character mode, the entire\n"
"field is processed. In regular expression mode, only the matched text is processed"))
        self.destination_field_label.setText(_("&Destination field:"))
        self.destination_field.setToolTip(_("The field that the text will be put into after all replacements.\n"
"If blank, the source field is used if the field is modifiable"))
        self.replace_mode_label.setText(_("M&ode:"))
        self.replace_mode.setToolTip(_("Specify how the text should be copied into the destination."))
        self.comma_separated.setToolTip(_("Specifies whether result items should be split into multiple values or\n"
"left as single values. This option has the most effect when the source field is\n"
"not multiple and the destination field is multiple"))
        self.comma_separated.setText(_("Split &result"))
        self.s_r_dst_ident_label.setText(_("Identifier type:"))
        self.s_r_dst_ident.setToolTip(_("Choose which identifier type to operate upon"))
        self.xlabel_412.setText(_("For multiple-valued fields, sho&w"))
        self.xlabel_4121.setText(_("values starting a&t"))
        self.xlabel_41.setText(_("with values separated b&y"))
        self.multiple_separator.setToolTip(_("Used when displaying test results to separate values in multiple-valued fields"))
        self.xlabel_3.setText(_("Test text"))
        self.xlabel_31.setText(_("Test result"))
        self.label_31.setText(_("Your test:"))
        self.central_widget.setTabText(self.central_widget.indexOf(self.tabWidgetPage3), _("&Search and replace"))
class Ui_EditAuthorsDialog(object):
    def setupUi(self, EditAuthorsDialog):
        EditAuthorsDialog.setObjectName(_fromUtf8("EditAuthorsDialog"))
        EditAuthorsDialog.resize(768, 342)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.MinimumExpanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(EditAuthorsDialog.sizePolicy().hasHeightForWidth())
        EditAuthorsDialog.setSizePolicy(sizePolicy)
        EditAuthorsDialog.setWindowTitle(_("Manage authors"))
        self.verticalLayout = QtGui.QVBoxLayout(EditAuthorsDialog)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.hboxlayout = QtGui.QHBoxLayout()
        self.hboxlayout.setObjectName(_fromUtf8("hboxlayout"))
        self.label = QtGui.QLabel(EditAuthorsDialog)
        self.label.setText(_("&Search for:"))
        self.label.setObjectName(_fromUtf8("label"))
        self.hboxlayout.addWidget(self.label)
        self.find_box = HistoryLineEdit(EditAuthorsDialog)
        self.find_box.setMinimumSize(QtCore.QSize(200, 0))
        self.find_box.setObjectName(_fromUtf8("find_box"))
        self.hboxlayout.addWidget(self.find_box)
        self.find_button = QtGui.QPushButton(EditAuthorsDialog)
        self.find_button.setText(_("F&ind"))
        self.find_button.setObjectName(_fromUtf8("find_button"))
        self.hboxlayout.addWidget(self.find_button)
        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.hboxlayout.addItem(spacerItem)
        self.verticalLayout.addLayout(self.hboxlayout)
        self.table = QtGui.QTableWidget(EditAuthorsDialog)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.table.sizePolicy().hasHeightForWidth())
        self.table.setSizePolicy(sizePolicy)
        self.table.setColumnCount(0)
        self.table.setObjectName(_fromUtf8("table"))
        self.table.setRowCount(0)
        self.verticalLayout.addWidget(self.table)
        self.gridlayout = QtGui.QGridLayout()
        self.gridlayout.setObjectName(_fromUtf8("gridlayout"))
        self.sort_by_author = QtGui.QPushButton(EditAuthorsDialog)
        self.sort_by_author.setText(_("Sort by author"))
        self.sort_by_author.setObjectName(_fromUtf8("sort_by_author"))
        self.gridlayout.addWidget(self.sort_by_author, 0, 0, 1, 1)
        self.sort_by_author_sort = QtGui.QPushButton(EditAuthorsDialog)
        self.sort_by_author_sort.setText(_("Sort by author sort"))
        self.sort_by_author_sort.setObjectName(_fromUtf8("sort_by_author_sort"))
        self.gridlayout.addWidget(self.sort_by_author_sort, 0, 1, 1, 1)
        self.recalc_author_sort = QtGui.QPushButton(EditAuthorsDialog)
        self.recalc_author_sort.setToolTip(_("Reset all the author sort values to a value automatically\n"
"generated from the author. Exactly how this value is automatically\n"
"generated can be controlled via Preferences->Advanced->Tweaks"))
        self.recalc_author_sort.setText(_("Recalculate all author sort values"))
        self.recalc_author_sort.setObjectName(_fromUtf8("recalc_author_sort"))
        self.gridlayout.addWidget(self.recalc_author_sort, 1, 0, 1, 1)
        self.auth_sort_to_author = QtGui.QPushButton(EditAuthorsDialog)
        self.auth_sort_to_author.setToolTip(_("Copy author sort to author for every author. You typically use this button\n"
"after changing Preferences->Advanced->Tweaks->Author sort name algorithm"))
        self.auth_sort_to_author.setText(_("Copy all author sort values to author"))
        self.auth_sort_to_author.setObjectName(_fromUtf8("auth_sort_to_author"))
        self.gridlayout.addWidget(self.auth_sort_to_author, 1, 1, 1, 1)
        self.buttonBox = QtGui.QDialogButtonBox(EditAuthorsDialog)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.buttonBox.sizePolicy().hasHeightForWidth())
        self.buttonBox.setSizePolicy(sizePolicy)
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
        self.buttonBox.setCenterButtons(False)
        self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
        self.gridlayout.addWidget(self.buttonBox, 1, 2, 1, 1)
        self.verticalLayout.addLayout(self.gridlayout)
        self.label.setBuddy(self.find_box)

        self.retranslateUi(EditAuthorsDialog)
        QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), EditAuthorsDialog.accept)
        QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), EditAuthorsDialog.reject)
        QtCore.QMetaObject.connectSlotsByName(EditAuthorsDialog)

    def retranslateUi(self, EditAuthorsDialog):
        pass
Beispiel #20
0
class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName(_fromUtf8("Dialog"))
        Dialog.resize(872, 610)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(_fromUtf8(I("store.png"))),
                       QtGui.QIcon.Normal, QtGui.QIcon.Off)
        Dialog.setWindowIcon(icon)
        Dialog.setSizeGripEnabled(True)
        self.verticalLayout_5 = QtGui.QVBoxLayout(Dialog)
        self.verticalLayout_5.setObjectName(_fromUtf8("verticalLayout_5"))
        self.top_layout = QtGui.QHBoxLayout()
        self.top_layout.setObjectName(_fromUtf8("top_layout"))
        self.label = QtGui.QLabel(Dialog)
        self.label.setObjectName(_fromUtf8("label"))
        self.top_layout.addWidget(self.label)
        self.adv_search_button = QtGui.QToolButton(Dialog)
        self.adv_search_button.setObjectName(_fromUtf8("adv_search_button"))
        self.top_layout.addWidget(self.adv_search_button)
        self.search_edit = HistoryLineEdit(Dialog)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding,
                                       QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.search_edit.sizePolicy().hasHeightForWidth())
        self.search_edit.setSizePolicy(sizePolicy)
        self.search_edit.setObjectName(_fromUtf8("search_edit"))
        self.top_layout.addWidget(self.search_edit)
        self.search = QtGui.QPushButton(Dialog)
        self.search.setObjectName(_fromUtf8("search"))
        self.top_layout.addWidget(self.search)
        self.verticalLayout_5.addLayout(self.top_layout)
        self.store_splitter = QtGui.QSplitter(Dialog)
        self.store_splitter.setOrientation(QtCore.Qt.Horizontal)
        self.store_splitter.setObjectName(_fromUtf8("store_splitter"))
        self.groupBox = QtGui.QGroupBox(self.store_splitter)
        self.groupBox.setObjectName(_fromUtf8("groupBox"))
        self.verticalLayout_2 = QtGui.QVBoxLayout(self.groupBox)
        self.verticalLayout_2.setSpacing(0)
        self.verticalLayout_2.setMargin(0)
        self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
        self.store_list = QtGui.QScrollArea(self.groupBox)
        self.store_list.setWidgetResizable(True)
        self.store_list.setObjectName(_fromUtf8("store_list"))
        self.scrollAreaWidgetContents = QtGui.QWidget()
        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 193, 127))
        self.scrollAreaWidgetContents.setObjectName(
            _fromUtf8("scrollAreaWidgetContents"))
        self.store_list.setWidget(self.scrollAreaWidgetContents)
        self.verticalLayout_2.addWidget(self.store_list)
        self.verticalLayout = QtGui.QVBoxLayout()
        self.verticalLayout.setSpacing(0)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.select_all_stores = QtGui.QPushButton(self.groupBox)
        self.select_all_stores.setObjectName(_fromUtf8("select_all_stores"))
        self.verticalLayout.addWidget(self.select_all_stores)
        self.select_invert_stores = QtGui.QPushButton(self.groupBox)
        self.select_invert_stores.setObjectName(
            _fromUtf8("select_invert_stores"))
        self.verticalLayout.addWidget(self.select_invert_stores)
        self.select_none_stores = QtGui.QPushButton(self.groupBox)
        self.select_none_stores.setObjectName(_fromUtf8("select_none_stores"))
        self.verticalLayout.addWidget(self.select_none_stores)
        self.verticalLayout_2.addLayout(self.verticalLayout)
        self.verticalLayoutWidget = QtGui.QWidget(self.store_splitter)
        self.verticalLayoutWidget.setObjectName(
            _fromUtf8("verticalLayoutWidget"))
        self.verticalLayout_4 = QtGui.QVBoxLayout(self.verticalLayoutWidget)
        self.verticalLayout_4.setMargin(0)
        self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4"))
        self.results_view = ResultsView(self.verticalLayoutWidget)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding,
                                       QtGui.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(1)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(
            self.results_view.sizePolicy().hasHeightForWidth())
        self.results_view.setSizePolicy(sizePolicy)
        self.results_view.setMinimumSize(QtCore.QSize(0, 0))
        self.results_view.setAlternatingRowColors(True)
        self.results_view.setIconSize(QtCore.QSize(32, 32))
        self.results_view.setRootIsDecorated(False)
        self.results_view.setUniformRowHeights(False)
        self.results_view.setItemsExpandable(False)
        self.results_view.setSortingEnabled(True)
        self.results_view.setExpandsOnDoubleClick(False)
        self.results_view.setObjectName(_fromUtf8("results_view"))
        self.results_view.header().setStretchLastSection(False)
        self.verticalLayout_4.addWidget(self.results_view)
        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
        self.configure = QtGui.QToolButton(self.verticalLayoutWidget)
        self.configure.setObjectName(_fromUtf8("configure"))
        self.horizontalLayout.addWidget(self.configure)
        self.open_external = QtGui.QCheckBox(self.verticalLayoutWidget)
        self.open_external.setObjectName(_fromUtf8("open_external"))
        self.horizontalLayout.addWidget(self.open_external)
        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding,
                                       QtGui.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem)
        self.verticalLayout_4.addLayout(self.horizontalLayout)
        self.verticalLayout_5.addWidget(self.store_splitter)
        self.bottom_layout = QtGui.QHBoxLayout()
        self.bottom_layout.setObjectName(_fromUtf8("bottom_layout"))
        self.label_2 = QtGui.QLabel(Dialog)
        self.label_2.setObjectName(_fromUtf8("label_2"))
        self.bottom_layout.addWidget(self.label_2)
        self.total = QtGui.QLabel(Dialog)
        self.total.setObjectName(_fromUtf8("total"))
        self.bottom_layout.addWidget(self.total)
        spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding,
                                        QtGui.QSizePolicy.Minimum)
        self.bottom_layout.addItem(spacerItem1)
        self.close = QtGui.QPushButton(Dialog)
        self.close.setObjectName(_fromUtf8("close"))
        self.bottom_layout.addWidget(self.close)
        self.verticalLayout_5.addLayout(self.bottom_layout)

        self.retranslateUi(Dialog)
        QtCore.QObject.connect(self.close,
                               QtCore.SIGNAL(_fromUtf8("clicked()")),
                               Dialog.accept)
        QtCore.QMetaObject.connectSlotsByName(Dialog)
        Dialog.setTabOrder(self.search_edit, self.search)
        Dialog.setTabOrder(self.search, self.results_view)
        Dialog.setTabOrder(self.results_view, self.store_list)
        Dialog.setTabOrder(self.store_list, self.select_all_stores)
        Dialog.setTabOrder(self.select_all_stores, self.select_invert_stores)
        Dialog.setTabOrder(self.select_invert_stores, self.select_none_stores)
        Dialog.setTabOrder(self.select_none_stores, self.configure)
        Dialog.setTabOrder(self.configure, self.open_external)
        Dialog.setTabOrder(self.open_external, self.close)
        Dialog.setTabOrder(self.close, self.adv_search_button)

    def retranslateUi(self, Dialog):
        Dialog.setWindowTitle(_("Get Books"))
        self.label.setText(_("Query:"))
        self.adv_search_button.setText(_("..."))
        self.search.setText(_("Search"))
        self.groupBox.setTitle(_("Stores"))
        self.select_all_stores.setText(_("All"))
        self.select_invert_stores.setText(_("Invert"))
        self.select_none_stores.setText(_("None"))
        self.configure.setText(_("..."))
        self.open_external.setToolTip(
            _("Open a selected book in the system\'s web browser"))
        self.open_external.setText(_("Open in &external browser"))
        self.label_2.setText(_("Books:"))
        self.total.setText(_("0"))
        self.close.setText(_("Close"))