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 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 setupUi(self, Dialog): Dialog.setObjectName(_fromUtf8("Dialog")) Dialog.resize(691, 614) 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.setObjectName(_fromUtf8("label")) self.horizontalLayout_2.addWidget(self.label) self.adv_search_button = QtGui.QToolButton(Dialog) 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.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.setObjectName(_fromUtf8("label_2")) self.horizontalLayout.addWidget(self.label_2) self.total = QtGui.QLabel(Dialog) 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.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 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 keyPressEvent(self, event): k = event.key() if k not in (Qt.Key_Up, Qt.Key_Down): return HistoryLineEdit.keyPressEvent(self, event) self.blockSignals(True) if k == Qt.Key_Down and self.currentIndex() == 0 and not self.lineEdit().text(): self.setCurrentIndex(1), self.setCurrentIndex(0) event.accept() else: HistoryLineEdit.keyPressEvent(self, event) self.blockSignals(False)
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 __init__(self, parent): super(ChooseLibrary, self).__init__(parent) d = self d.l = l = QGridLayout() d.setLayout(l) d.setWindowTitle(_('Choose library')) la = d.la = QLabel(_('Library &path:')) l.addWidget(la, 0, 0) le = d.le = HistoryLineEdit(d) le.initialize('choose_library_for_copy') l.addWidget(le, 0, 1) la.setBuddy(le) b = d.b = QToolButton(d) b.setIcon(QIcon(I('document_open.png'))) b.setToolTip(_('Browse for library')) b.clicked.connect(self.browse) l.addWidget(b, 0, 2) self.bb = bb = QDialogButtonBox(QDialogButtonBox.Cancel) bb.accepted.connect(self.accept) bb.rejected.connect(self.reject) self.delete_after_copy = False b = bb.addButton(_('&Copy'), bb.AcceptRole) b.setIcon(QIcon(I('edit-copy.png'))) b.setToolTip(_('Copy to the specified library')) b2 = bb.addButton(_('&Move'), bb.AcceptRole) b2.clicked.connect(lambda: setattr(self, 'delete_after_copy', True)) b2.setIcon(QIcon(I('edit-cut.png'))) b2.setToolTip(_('Copy to the specified library and delete from the current library')) b.setDefault(True) l.addWidget(bb, 1, 0, 1, 3) le.setMinimumWidth(350) self.resize(self.sizeHint())
def __init__(self, parent=None, object_name='', show_msg=True): QWidget.__init__(self, parent) self.h = h = QHBoxLayout(self) h.setContentsMargins(0, 0, 0, 0) self.l = l = QVBoxLayout() h.addLayout(l) self.button = b = QToolButton(self) b.setIcon(QIcon(I('wizard.png'))) b.setToolTip(_('Use a wizard to generate the XPath expression')) b.clicked.connect(self.wizard) h.addWidget(b) self.edit = e = HistoryLineEdit(self) e.setMinimumWidth(350) e.setSizeAdjustPolicy(QComboBox.SizeAdjustPolicy.AdjustToMinimumContentsLengthWithIcon) e.setMinimumContentsLength(30) self.msg = QLabel('') l.addWidget(self.msg) l.addWidget(self.edit) if object_name: self.setObjectName(object_name) if show_msg: b.setIconSize(QSize(40, 40)) self.msg.setBuddy(self.edit) else: self.msg.setVisible(False) l.setContentsMargins(0, 0, 0, 0)
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 setupUi(self, Form): Form.setObjectName(_fromUtf8("Form")) Form.resize(430, 74) 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.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) 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 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 __init__(self, name, layout): QWidget.__init__(self) self.dname = name opt = options[name] self.l = l = QHBoxLayout(self) l.setContentsMargins(0, 0, 0, 0) self.text = t = HistoryLineEdit(self) t.initialize('server-opts-{}'.format(name)) t.setClearButtonEnabled(True) t.currentTextChanged.connect(self.changed_signal.emit) l.addWidget(t) self.b = b = QToolButton(self) l.addWidget(b) b.setIcon(QIcon(I('document_open.png'))) b.setToolTip(_("Browse for the file")) b.clicked.connect(self.choose) init_opt(self, opt, layout)
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_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_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"))
class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(610, 553) self.verticalLayout = QtWidgets.QVBoxLayout(Form) self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.query = HistoryLineEdit(Form) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.query.sizePolicy().hasHeightForWidth()) self.query.setSizePolicy(sizePolicy) self.query.setClearButtonEnabled(True) self.query.setObjectName("query") self.horizontalLayout.addWidget(self.query) self.search = QtWidgets.QPushButton(Form) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(I("search.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.search.setIcon(icon) self.search.setObjectName("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( QtWidgets.QAbstractItemView.SingleSelection) self.results_view.setSelectionBehavior( QtWidgets.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("results_view") self.results_view.header().setStretchLastSection(False) self.verticalLayout.addWidget(self.results_view) self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.label_2 = QtWidgets.QLabel(Form) self.label_2.setObjectName("label_2") self.horizontalLayout_2.addWidget(self.label_2) self.enable_all = QtWidgets.QPushButton(Form) self.enable_all.setObjectName("enable_all") self.horizontalLayout_2.addWidget(self.enable_all) self.enable_none = QtWidgets.QPushButton(Form) self.enable_none.setObjectName("enable_none") self.horizontalLayout_2.addWidget(self.enable_none) self.enable_invert = QtWidgets.QPushButton(Form) self.enable_invert.setObjectName("enable_invert") self.horizontalLayout_2.addWidget(self.enable_invert) spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.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.query.setPlaceholderText(_("Query")) self.search.setText(_("Search")) self.label_2.setText(_("Enable:")) self.enable_all.setText(_("&All")) self.enable_none.setText(_("&None")) self.enable_invert.setText(_("&Invert"))
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)
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<er")) 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"))
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)
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(_("..."))
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)
class TagBrowserWidget(QWidget): # {{{ def __init__(self, parent): QWidget.__init__(self, parent) self.parent = parent self._layout = QVBoxLayout() self.setLayout(self._layout) self._layout.setContentsMargins(0,0,0,0) # Set up the find box & button search_layout = QHBoxLayout() self._layout.addLayout(search_layout) self.item_search = HistoryLineEdit(parent) self.item_search.setMinimumContentsLength(5) self.item_search.setSizeAdjustPolicy(self.item_search.AdjustToMinimumContentsLengthWithIcon) try: self.item_search.lineEdit().setPlaceholderText( _('Find item in tag browser')) except: pass # Using Qt < 4.7 self.item_search.setToolTip(_( 'Search for items. This is a "contains" search; items containing the\n' 'text anywhere in the name will be found. You can limit the search\n' 'to particular categories using syntax similar to search. For example,\n' 'tags:foo will find foo in any tag, but not in authors etc. Entering\n' '*foo will filter all categories at once, showing only those items\n' 'containing the text "foo"')) search_layout.addWidget(self.item_search) ac = QAction(parent) parent.addAction(ac) parent.keyboard.register_shortcut('tag browser find box', _('Find item'), default_keys=(), action=ac, group=_('Tag Browser')) ac.triggered.connect(self.set_focus_to_find_box) self.search_button = QToolButton() self.search_button.setText(_('Find')) self.search_button.setToolTip(_('Find the first/next matching item')) search_layout.addWidget(self.search_button) ac = QAction(parent) parent.addAction(ac) parent.keyboard.register_shortcut('tag browser find button', _('Find button'), default_keys=(), action=ac, group=_('Tag Browser')) ac.triggered.connect(self.search_button.click) self.expand_button = QToolButton() self.expand_button.setText('-') self.expand_button.setToolTip(_('Collapse all categories')) search_layout.addWidget(self.expand_button) search_layout.setStretch(0, 10) search_layout.setStretch(1, 1) search_layout.setStretch(2, 1) ac = QAction(parent) parent.addAction(ac) parent.keyboard.register_shortcut('tag browser collapse all', _('Collapse all'), default_keys=(), action=ac, group=_('Tag Browser')) ac.triggered.connect(self.expand_button.clicked) self.current_find_position = None self.search_button.clicked.connect(self.find) self.item_search.initialize('tag_browser_search') self.item_search.lineEdit().returnPressed.connect(self.do_find) self.item_search.lineEdit().textEdited.connect(self.find_text_changed) self.item_search.activated[str].connect(self.do_find) self.item_search.completer().setCaseSensitivity(Qt.CaseSensitive) parent.tags_view = TagsView(parent) self.tags_view = parent.tags_view self.expand_button.clicked.connect(self.tags_view.collapseAll) self._layout.addWidget(parent.tags_view) # Now the floating 'not found' box l = QLabel(self.tags_view) self.not_found_label = l l.setFrameStyle(QFrame.StyledPanel) l.setAutoFillBackground(True) l.setText('<p><b>'+_('No More Matches.</b><p> Click Find again to go to first match')) l.setAlignment(Qt.AlignVCenter) l.setWordWrap(True) l.resize(l.sizeHint()) l.move(10,20) l.setVisible(False) self.not_found_label_timer = QTimer() self.not_found_label_timer.setSingleShot(True) self.not_found_label_timer.timeout.connect(self.not_found_label_timer_event, type=Qt.QueuedConnection) parent.alter_tb = l = QPushButton(parent) l.setText(_('Alter Tag Browser')) l.setIcon(QIcon(I('tags.png'))) l.m = QMenu() l.setMenu(l.m) self._layout.addWidget(l) ac = QAction(parent) parent.addAction(ac) parent.keyboard.register_shortcut('tag browser alter', _('Alter tag browser'), default_keys=(), action=ac, group=_('Tag Browser')) ac.triggered.connect(l.showMenu) sb = l.m.addAction(_('Sort by')) sb.m = l.sort_menu = QMenu(l.m) sb.setMenu(sb.m) sb.bg = QActionGroup(sb) # Must be in the same order as db2.CATEGORY_SORTS for i, x in enumerate((_('Sort by name'), _('Sort by number of books'), _('Sort by average rating'))): a = sb.m.addAction(x) sb.bg.addAction(a) a.setCheckable(True) if i == 0: a.setChecked(True) sb.setToolTip( _('Set the sort order for entries in the Tag Browser')) sb.setStatusTip(sb.toolTip()) ma = l.m.addAction(_('Search type when selecting multiple items')) ma.m = l.match_menu = QMenu(l.m) ma.setMenu(ma.m) ma.ag = QActionGroup(ma) # Must be in the same order as db2.MATCH_TYPE for i, x in enumerate((_('Match any of the items'), _('Match all of the items'))): a = ma.m.addAction(x) ma.ag.addAction(a) a.setCheckable(True) if i == 0: a.setChecked(True) ma.setToolTip( _('When selecting multiple entries in the Tag Browser ' 'match any or all of them')) ma.setStatusTip(ma.toolTip()) mt = l.m.addAction(_('Manage authors, tags, etc.')) mt.setToolTip(_('All of these category_managers are available by right-clicking ' 'on items in the tag browser above')) mt.m = l.manage_menu = QMenu(l.m) mt.setMenu(mt.m) ac = QAction(parent) parent.addAction(ac) parent.keyboard.register_shortcut('tag browser toggle item', _("'Click' found item"), default_keys=(), action=ac, group=_('Tag Browser')) ac.triggered.connect(self.toggle_item) # self.leak_test_timer = QTimer(self) # self.leak_test_timer.timeout.connect(self.test_for_leak) # self.leak_test_timer.start(5000) def toggle_item(self): self.tags_view.toggle_current_index() def set_pane_is_visible(self, to_what): self.tags_view.set_pane_is_visible(to_what) def find_text_changed(self, str): self.current_find_position = None def set_focus_to_find_box(self): self.item_search.setFocus() self.item_search.lineEdit().selectAll() def do_find(self, str=None): self.current_find_position = None self.find() def find(self): model = self.tags_view.model() model.clear_boxed() txt = unicode(self.item_search.currentText()).strip() if txt.startswith('*'): model.set_categories_filter(txt[1:]) self.tags_view.recount() self.current_find_position = None return if model.get_categories_filter(): model.set_categories_filter(None) self.tags_view.recount() self.current_find_position = None if not txt: return self.item_search.lineEdit().blockSignals(True) self.search_button.setFocus(True) self.item_search.lineEdit().blockSignals(False) key = None colon = txt.rfind(':') if len(txt) > 2 else 0 if colon > 0: key = self.parent.library_view.model().db.\ field_metadata.search_term_to_field_key(txt[:colon]) txt = txt[colon+1:] self.current_find_position = \ model.find_item_node(key, txt, self.current_find_position) if self.current_find_position: self.tags_view.show_item_at_path(self.current_find_position, box=True) elif self.item_search.text(): self.not_found_label.setVisible(True) if self.tags_view.verticalScrollBar().isVisible(): sbw = self.tags_view.verticalScrollBar().width() else: sbw = 0 width = self.width() - 8 - sbw height = self.not_found_label.heightForWidth(width) + 20 self.not_found_label.resize(width, height) self.not_found_label.move(4, 10) self.not_found_label_timer.start(2000) def not_found_label_timer_event(self): self.not_found_label.setVisible(False)
def __init__(self, parent): QWidget.__init__(self, parent) self.setSizePolicy(QSizePolicy.Ignored, QSizePolicy.Preferred) parent = parent.parent() self.l = l = QHBoxLayout(self) l.setContentsMargins(0, 0, 0, 0) self.alter_tb = parent.alter_tb = b = QToolButton(self) b.setAutoRaise(True) b.setCursor(Qt.PointingHandCursor) b.setPopupMode(b.InstantPopup) b.setToolTip(textwrap.fill(_( 'Change how the Tag browser works, such as,' ' how it is sorted, what happens when you click' ' items, etc.' ))) b.setIcon(QIcon(I('config.png'))) b.m = QMenu() b.setMenu(b.m) self.label = la = QLabel(self) la.setText(_('Tag browser')) self.item_search = HistoryLineEdit(parent) self.item_search.setMinimumContentsLength(5) self.item_search.setSizeAdjustPolicy(self.item_search.AdjustToMinimumContentsLengthWithIcon) self.item_search.initialize('tag_browser_search') self.item_search.completer().setCaseSensitivity(Qt.CaseSensitive) self.item_search.setToolTip(_( 'Search for items. This is a "contains" search; items containing the\n' 'text anywhere in the name will be found. You can limit the search\n' 'to particular categories using syntax similar to search. For example,\n' 'tags:foo will find foo in any tag, but not in authors etc. Entering\n' '*foo will filter all categories at once, showing only those items\n' 'containing the text "foo"')) ac = QAction(parent) parent.addAction(ac) parent.keyboard.register_shortcut('tag browser find box', _('Find item'), default_keys=(), action=ac, group=_('Tag browser')) ac.triggered.connect(self.set_focus_to_find_box) self.search_button = QToolButton() self.search_button.setCursor(Qt.PointingHandCursor) self.search_button.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) self.search_button.setIcon(QIcon(I('search.png'))) self.search_button.setText(_('Find')) self.search_button.setToolTip(_('Find the first/next matching item')) ac = QAction(parent) parent.addAction(ac) parent.keyboard.register_shortcut('tag browser find button', _('Find button'), default_keys=(), action=ac, group=_('Tag browser')) ac.triggered.connect(self.search_button.click) self.toggle_search_button = b = QToolButton(self) le = self.item_search.lineEdit() le.addAction(QIcon(I('window-close.png')), le.LeadingPosition).triggered.connect(self.toggle_search_button.click) b.setCursor(Qt.PointingHandCursor) b.setIcon(QIcon(I('search.png'))) b.setCheckable(True) b.setChecked(gprefs.get('tag browser search box visible', False)) b.setToolTip(_('Search for items in the Tag browser')) b.setAutoRaise(True) b.toggled.connect(self.update_searchbar_state) self.update_searchbar_state()
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>" ))
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"))
class TagBrowserWidget(QWidget): # {{{ def __init__(self, parent): QWidget.__init__(self, parent) self.parent = parent self._layout = QVBoxLayout() self.setLayout(self._layout) self._layout.setContentsMargins(0, 0, 0, 0) # Set up the find box & button search_layout = QHBoxLayout() self._layout.addLayout(search_layout) self.item_search = HistoryLineEdit(parent) self.item_search.setMinimumContentsLength(5) self.item_search.setSizeAdjustPolicy( self.item_search.AdjustToMinimumContentsLengthWithIcon) try: self.item_search.lineEdit().setPlaceholderText( _('Find item in tag browser')) except: pass # Using Qt < 4.7 self.item_search.setToolTip( _('Search for items. This is a "contains" search; items containing the\n' 'text anywhere in the name will be found. You can limit the search\n' 'to particular categories using syntax similar to search. For example,\n' 'tags:foo will find foo in any tag, but not in authors etc. Entering\n' '*foo will filter all categories at once, showing only those items\n' 'containing the text "foo"')) search_layout.addWidget(self.item_search) # Not sure if the shortcut should be translatable ... sc = QShortcut(QKeySequence(_('ALT+f')), parent) sc.activated.connect(self.set_focus_to_find_box) self.search_button = QToolButton() self.search_button.setText(_('F&ind')) self.search_button.setToolTip(_('Find the first/next matching item')) search_layout.addWidget(self.search_button) self.expand_button = QToolButton() self.expand_button.setText('-') self.expand_button.setToolTip(_('Collapse all categories')) search_layout.addWidget(self.expand_button) search_layout.setStretch(0, 10) search_layout.setStretch(1, 1) search_layout.setStretch(2, 1) self.current_find_position = None self.search_button.clicked.connect(self.find) self.item_search.initialize('tag_browser_search') self.item_search.lineEdit().returnPressed.connect(self.do_find) self.item_search.lineEdit().textEdited.connect(self.find_text_changed) self.item_search.activated[str].connect(self.do_find) self.item_search.completer().setCaseSensitivity(Qt.CaseSensitive) parent.tags_view = TagsView(parent) self.tags_view = parent.tags_view self.expand_button.clicked.connect(self.tags_view.collapseAll) self._layout.addWidget(parent.tags_view) # Now the floating 'not found' box l = QLabel(self.tags_view) self.not_found_label = l l.setFrameStyle(QFrame.StyledPanel) l.setAutoFillBackground(True) l.setText( '<p><b>' + _('No More Matches.</b><p> Click Find again to go to first match')) l.setAlignment(Qt.AlignVCenter) l.setWordWrap(True) l.resize(l.sizeHint()) l.move(10, 20) l.setVisible(False) self.not_found_label_timer = QTimer() self.not_found_label_timer.setSingleShot(True) self.not_found_label_timer.timeout.connect( self.not_found_label_timer_event, type=Qt.QueuedConnection) parent.alter_tb = l = QPushButton(parent) l.setText(_('Alter Tag Browser')) l.setIcon(QIcon(I('tags.png'))) l.m = QMenu() l.setMenu(l.m) self._layout.addWidget(l) sb = l.m.addAction(_('Sort by')) sb.m = l.sort_menu = QMenu(l.m) sb.setMenu(sb.m) sb.bg = QActionGroup(sb) # Must be in the same order as db2.CATEGORY_SORTS for i, x in enumerate((_('Sort by name'), _('Sort by number of books'), _('Sort by average rating'))): a = sb.m.addAction(x) sb.bg.addAction(a) a.setCheckable(True) if i == 0: a.setChecked(True) sb.setToolTip(_('Set the sort order for entries in the Tag Browser')) sb.setStatusTip(sb.toolTip()) ma = l.m.addAction(_('Search type when selecting multiple items')) ma.m = l.match_menu = QMenu(l.m) ma.setMenu(ma.m) ma.ag = QActionGroup(ma) # Must be in the same order as db2.MATCH_TYPE for i, x in enumerate( (_('Match any of the items'), _('Match all of the items'))): a = ma.m.addAction(x) ma.ag.addAction(a) a.setCheckable(True) if i == 0: a.setChecked(True) ma.setToolTip( _('When selecting multiple entries in the Tag Browser ' 'match any or all of them')) ma.setStatusTip(ma.toolTip()) mt = l.m.addAction(_('Manage authors, tags, etc.')) mt.setToolTip( _('All of these category_managers are available by right-clicking ' 'on items in the tag browser above')) mt.m = l.manage_menu = QMenu(l.m) mt.setMenu(mt.m) # self.leak_test_timer = QTimer(self) # self.leak_test_timer.timeout.connect(self.test_for_leak) # self.leak_test_timer.start(5000) def set_pane_is_visible(self, to_what): self.tags_view.set_pane_is_visible(to_what) def find_text_changed(self, str): self.current_find_position = None def set_focus_to_find_box(self): self.item_search.setFocus() self.item_search.lineEdit().selectAll() def do_find(self, str=None): self.current_find_position = None self.find() def find(self): model = self.tags_view.model() model.clear_boxed() txt = unicode(self.item_search.currentText()).strip() if txt.startswith('*'): model.set_categories_filter(txt[1:]) self.tags_view.recount() self.current_find_position = None return if model.get_categories_filter(): model.set_categories_filter(None) self.tags_view.recount() self.current_find_position = None if not txt: return self.item_search.lineEdit().blockSignals(True) self.search_button.setFocus(True) self.item_search.lineEdit().blockSignals(False) key = None colon = txt.rfind(':') if len(txt) > 2 else 0 if colon > 0: key = self.parent.library_view.model().db.\ field_metadata.search_term_to_field_key(txt[:colon]) txt = txt[colon + 1:] self.current_find_position = \ model.find_item_node(key, txt, self.current_find_position) if self.current_find_position: self.tags_view.show_item_at_path(self.current_find_position, box=True) elif self.item_search.text(): self.not_found_label.setVisible(True) if self.tags_view.verticalScrollBar().isVisible(): sbw = self.tags_view.verticalScrollBar().width() else: sbw = 0 width = self.width() - 8 - sbw height = self.not_found_label.heightForWidth(width) + 20 self.not_found_label.resize(width, height) self.not_found_label.move(4, 10) self.not_found_label_timer.start(2000) def not_found_label_timer_event(self): self.not_found_label.setVisible(False)
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"))
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(_("..."))
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 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)
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"))
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 __init__(self, parent): QWidget.__init__(self, parent) self.parent = parent self._layout = QVBoxLayout() self.setLayout(self._layout) self._layout.setContentsMargins(0,0,0,0) # Set up the find box & button search_layout = QHBoxLayout() self._layout.addLayout(search_layout) self.item_search = HistoryLineEdit(parent) self.item_search.setMinimumContentsLength(5) self.item_search.setSizeAdjustPolicy(self.item_search.AdjustToMinimumContentsLengthWithIcon) try: self.item_search.lineEdit().setPlaceholderText( _('Find item in tag browser')) except: pass # Using Qt < 4.7 self.item_search.setToolTip(_( 'Search for items. This is a "contains" search; items containing the\n' 'text anywhere in the name will be found. You can limit the search\n' 'to particular categories using syntax similar to search. For example,\n' 'tags:foo will find foo in any tag, but not in authors etc. Entering\n' '*foo will filter all categories at once, showing only those items\n' 'containing the text "foo"')) search_layout.addWidget(self.item_search) ac = QAction(parent) parent.addAction(ac) parent.keyboard.register_shortcut('tag browser find box', _('Find item'), default_keys=(), action=ac, group=_('Tag Browser')) ac.triggered.connect(self.set_focus_to_find_box) self.search_button = QToolButton() self.search_button.setText(_('Find')) self.search_button.setToolTip(_('Find the first/next matching item')) search_layout.addWidget(self.search_button) ac = QAction(parent) parent.addAction(ac) parent.keyboard.register_shortcut('tag browser find button', _('Find button'), default_keys=(), action=ac, group=_('Tag Browser')) ac.triggered.connect(self.search_button.click) self.expand_button = QToolButton() self.expand_button.setText('-') self.expand_button.setToolTip(_('Collapse all categories')) search_layout.addWidget(self.expand_button) search_layout.setStretch(0, 10) search_layout.setStretch(1, 1) search_layout.setStretch(2, 1) ac = QAction(parent) parent.addAction(ac) parent.keyboard.register_shortcut('tag browser collapse all', _('Collapse all'), default_keys=(), action=ac, group=_('Tag Browser')) ac.triggered.connect(self.expand_button.clicked) self.current_find_position = None self.search_button.clicked.connect(self.find) self.item_search.initialize('tag_browser_search') self.item_search.lineEdit().returnPressed.connect(self.do_find) self.item_search.lineEdit().textEdited.connect(self.find_text_changed) self.item_search.activated[str].connect(self.do_find) self.item_search.completer().setCaseSensitivity(Qt.CaseSensitive) parent.tags_view = TagsView(parent) self.tags_view = parent.tags_view self.expand_button.clicked.connect(self.tags_view.collapseAll) self._layout.addWidget(parent.tags_view) # Now the floating 'not found' box l = QLabel(self.tags_view) self.not_found_label = l l.setFrameStyle(QFrame.StyledPanel) l.setAutoFillBackground(True) l.setText('<p><b>'+_('No More Matches.</b><p> Click Find again to go to first match')) l.setAlignment(Qt.AlignVCenter) l.setWordWrap(True) l.resize(l.sizeHint()) l.move(10,20) l.setVisible(False) self.not_found_label_timer = QTimer() self.not_found_label_timer.setSingleShot(True) self.not_found_label_timer.timeout.connect(self.not_found_label_timer_event, type=Qt.QueuedConnection) parent.alter_tb = l = QPushButton(parent) l.setText(_('Alter Tag Browser')) l.setIcon(QIcon(I('tags.png'))) l.m = QMenu() l.setMenu(l.m) self._layout.addWidget(l) ac = QAction(parent) parent.addAction(ac) parent.keyboard.register_shortcut('tag browser alter', _('Alter tag browser'), default_keys=(), action=ac, group=_('Tag Browser')) ac.triggered.connect(l.showMenu) sb = l.m.addAction(_('Sort by')) sb.m = l.sort_menu = QMenu(l.m) sb.setMenu(sb.m) sb.bg = QActionGroup(sb) # Must be in the same order as db2.CATEGORY_SORTS for i, x in enumerate((_('Sort by name'), _('Sort by number of books'), _('Sort by average rating'))): a = sb.m.addAction(x) sb.bg.addAction(a) a.setCheckable(True) if i == 0: a.setChecked(True) sb.setToolTip( _('Set the sort order for entries in the Tag Browser')) sb.setStatusTip(sb.toolTip()) ma = l.m.addAction(_('Search type when selecting multiple items')) ma.m = l.match_menu = QMenu(l.m) ma.setMenu(ma.m) ma.ag = QActionGroup(ma) # Must be in the same order as db2.MATCH_TYPE for i, x in enumerate((_('Match any of the items'), _('Match all of the items'))): a = ma.m.addAction(x) ma.ag.addAction(a) a.setCheckable(True) if i == 0: a.setChecked(True) ma.setToolTip( _('When selecting multiple entries in the Tag Browser ' 'match any or all of them')) ma.setStatusTip(ma.toolTip()) mt = l.m.addAction(_('Manage authors, tags, etc.')) mt.setToolTip(_('All of these category_managers are available by right-clicking ' 'on items in the tag browser above')) mt.m = l.manage_menu = QMenu(l.m) mt.setMenu(mt.m) ac = QAction(parent) parent.addAction(ac) parent.keyboard.register_shortcut('tag browser toggle item', _("'Click' found item"), default_keys=(), action=ac, group=_('Tag Browser')) ac.triggered.connect(self.toggle_item)
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 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 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 __init__(self, parent): QWidget.__init__(self, parent) self.parent = parent self._layout = QVBoxLayout() self.setLayout(self._layout) self._layout.setContentsMargins(0, 0, 0, 0) # Set up the find box & button search_layout = QHBoxLayout() self._layout.addLayout(search_layout) self.item_search = HistoryLineEdit(parent) self.item_search.setMinimumContentsLength(5) self.item_search.setSizeAdjustPolicy( self.item_search.AdjustToMinimumContentsLengthWithIcon) try: self.item_search.lineEdit().setPlaceholderText( _('Find item in tag browser')) except: pass # Using Qt < 4.7 self.item_search.setToolTip( _('Search for items. This is a "contains" search; items containing the\n' 'text anywhere in the name will be found. You can limit the search\n' 'to particular categories using syntax similar to search. For example,\n' 'tags:foo will find foo in any tag, but not in authors etc. Entering\n' '*foo will filter all categories at once, showing only those items\n' 'containing the text "foo"')) search_layout.addWidget(self.item_search) # Not sure if the shortcut should be translatable ... sc = QShortcut(QKeySequence(_('ALT+f')), parent) sc.activated.connect(self.set_focus_to_find_box) self.search_button = QToolButton() self.search_button.setText(_('F&ind')) self.search_button.setToolTip(_('Find the first/next matching item')) search_layout.addWidget(self.search_button) self.expand_button = QToolButton() self.expand_button.setText('-') self.expand_button.setToolTip(_('Collapse all categories')) search_layout.addWidget(self.expand_button) search_layout.setStretch(0, 10) search_layout.setStretch(1, 1) search_layout.setStretch(2, 1) self.current_find_position = None self.search_button.clicked.connect(self.find) self.item_search.initialize('tag_browser_search') self.item_search.lineEdit().returnPressed.connect(self.do_find) self.item_search.lineEdit().textEdited.connect(self.find_text_changed) self.item_search.activated[str].connect(self.do_find) self.item_search.completer().setCaseSensitivity(Qt.CaseSensitive) parent.tags_view = TagsView(parent) self.tags_view = parent.tags_view self.expand_button.clicked.connect(self.tags_view.collapseAll) self._layout.addWidget(parent.tags_view) # Now the floating 'not found' box l = QLabel(self.tags_view) self.not_found_label = l l.setFrameStyle(QFrame.StyledPanel) l.setAutoFillBackground(True) l.setText( '<p><b>' + _('No More Matches.</b><p> Click Find again to go to first match')) l.setAlignment(Qt.AlignVCenter) l.setWordWrap(True) l.resize(l.sizeHint()) l.move(10, 20) l.setVisible(False) self.not_found_label_timer = QTimer() self.not_found_label_timer.setSingleShot(True) self.not_found_label_timer.timeout.connect( self.not_found_label_timer_event, type=Qt.QueuedConnection) parent.alter_tb = l = QPushButton(parent) l.setText(_('Alter Tag Browser')) l.setIcon(QIcon(I('tags.png'))) l.m = QMenu() l.setMenu(l.m) self._layout.addWidget(l) sb = l.m.addAction(_('Sort by')) sb.m = l.sort_menu = QMenu(l.m) sb.setMenu(sb.m) sb.bg = QActionGroup(sb) # Must be in the same order as db2.CATEGORY_SORTS for i, x in enumerate((_('Sort by name'), _('Sort by number of books'), _('Sort by average rating'))): a = sb.m.addAction(x) sb.bg.addAction(a) a.setCheckable(True) if i == 0: a.setChecked(True) sb.setToolTip(_('Set the sort order for entries in the Tag Browser')) sb.setStatusTip(sb.toolTip()) ma = l.m.addAction(_('Search type when selecting multiple items')) ma.m = l.match_menu = QMenu(l.m) ma.setMenu(ma.m) ma.ag = QActionGroup(ma) # Must be in the same order as db2.MATCH_TYPE for i, x in enumerate( (_('Match any of the items'), _('Match all of the items'))): a = ma.m.addAction(x) ma.ag.addAction(a) a.setCheckable(True) if i == 0: a.setChecked(True) ma.setToolTip( _('When selecting multiple entries in the Tag Browser ' 'match any or all of them')) ma.setStatusTip(ma.toolTip()) mt = l.m.addAction(_('Manage authors, tags, etc.')) mt.setToolTip( _('All of these category_managers are available by right-clicking ' 'on items in the tag browser above')) mt.m = l.manage_menu = QMenu(l.m) mt.setMenu(mt.m)
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"))
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 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)