mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-08 10:44:09 -04:00
String changes
This commit is contained in:
parent
fa7d11772f
commit
923048a387
@ -355,7 +355,7 @@ for the tag ``Science Fiction`` you would need to search for ``tag:"=science fic
|
|||||||
``tag:=science fiction`` you will find all books with the tag 'science' and containing the word 'fiction' in any
|
``tag:=science fiction`` you will find all books with the tag 'science' and containing the word 'fiction' in any
|
||||||
metadata.
|
metadata.
|
||||||
|
|
||||||
You can build advanced search queries easily using the :guilabel:`Advanced Search Dialog` accessed by
|
You can build advanced search queries easily using the :guilabel:`Advanced search dialog` accessed by
|
||||||
clicking the button |sbi|.
|
clicking the button |sbi|.
|
||||||
|
|
||||||
Available fields for searching are: ``tag, title, author, publisher, series, series_index, rating, cover,
|
Available fields for searching are: ``tag, title, author, publisher, series, series_index, rating, cover,
|
||||||
@ -433,7 +433,7 @@ Identifiers (e.g., isbn, doi, lccn etc) also use an extended syntax. First, note
|
|||||||
.. figure:: images/search.png
|
.. figure:: images/search.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
:guilabel:`Advanced Search Dialog`
|
:guilabel:`Advanced search dialog`
|
||||||
|
|
||||||
.. _saved_searches:
|
.. _saved_searches:
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ Click the book you want to edit and then click the :guilabel:`Edit metadata` but
|
|||||||
|
|
||||||
* You can click the button in between title and authors to swap them automatically.
|
* You can click the button in between title and authors to swap them automatically.
|
||||||
* You can click the button next to author sort to have calibre automatically fill it in using the sort values stored with each author. Use the :guilabel:`Manage authors` dialog to see and change the authors' sort values. This dialog can be opened by clicking and holding the button next to author sort.
|
* You can click the button next to author sort to have calibre automatically fill it in using the sort values stored with each author. Use the :guilabel:`Manage authors` dialog to see and change the authors' sort values. This dialog can be opened by clicking and holding the button next to author sort.
|
||||||
* You can click the button next to tags to use the Tag Editor to manage the tags associated with the book.
|
* You can click the button next to tags to use the :guilabel:`Tag editor` to manage the tags associated with the book.
|
||||||
* The "Ids" box can be used to enter an ISBN (and many other types of id), it will have a red background if you enter an invalid ISBN. It will be green for valid ISBNs.
|
* The "Ids" box can be used to enter an ISBN (and many other types of id), it will have a red background if you enter an invalid ISBN. It will be green for valid ISBNs.
|
||||||
* The author sort box will be red if the author sort value differs from what calibre thinks it should be.
|
* The author sort box will be red if the author sort value differs from what calibre thinks it should be.
|
||||||
|
|
||||||
|
@ -124,8 +124,8 @@ Insert an arbitrary HTML tag [<<]
|
|||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
This allows you to insert an arbitrary full HTML tag (or wrap previously
|
This allows you to insert an arbitrary full HTML tag (or wrap previously
|
||||||
selected text in the tag). To use it, simply type ``<<`` and press |ct|.The
|
selected text in the tag). To use it, simply type ``<<`` and press |ct|.
|
||||||
editor will expand it to::
|
The editor will expand it to::
|
||||||
|
|
||||||
<|></>
|
<|></>
|
||||||
|
|
||||||
|
@ -133,10 +133,10 @@ is completed. This can be slow on large libraries.</string>
|
|||||||
<item row="5" column="3">
|
<item row="5" column="3">
|
||||||
<widget class="QToolButton" name="tag_editor_button">
|
<widget class="QToolButton" name="tag_editor_button">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Open Tag Editor</string>
|
<string>Open Tag editor</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Open Tag Editor</string>
|
<string>Open Tag editor</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="../../../../resources/images.qrc">
|
<iconset resource="../../../../resources/images.qrc">
|
||||||
|
@ -475,13 +475,17 @@ class PluginUpdaterDialog(SizePersistedDialog):
|
|||||||
self.filter_combo = PluginFilterComboBox(self)
|
self.filter_combo = PluginFilterComboBox(self)
|
||||||
self.filter_combo.setMinimumContentsLength(20)
|
self.filter_combo.setMinimumContentsLength(20)
|
||||||
self.filter_combo.currentIndexChanged[int].connect(self._filter_combo_changed)
|
self.filter_combo.currentIndexChanged[int].connect(self._filter_combo_changed)
|
||||||
header_layout.addWidget(QLabel(_('Filter list of plugins')+':', self))
|
la = QLabel(_('Filter list of &plugins')+':', self)
|
||||||
|
la.setBuddy(self.filter_combo)
|
||||||
|
header_layout.addWidget(la)
|
||||||
header_layout.addWidget(self.filter_combo)
|
header_layout.addWidget(self.filter_combo)
|
||||||
header_layout.addStretch(10)
|
header_layout.addStretch(10)
|
||||||
|
|
||||||
# filter plugins by name
|
# filter plugins by name
|
||||||
header_layout.addWidget(QLabel(_('Filter by name')+':', self))
|
la = QLabel(_('Filter by &name')+':', self)
|
||||||
|
header_layout.addWidget(la)
|
||||||
self.filter_by_name_lineedit = QLineEdit(self)
|
self.filter_by_name_lineedit = QLineEdit(self)
|
||||||
|
la.setBuddy(self.filter_by_name_lineedit)
|
||||||
self.filter_by_name_lineedit.setText("")
|
self.filter_by_name_lineedit.setText("")
|
||||||
self.filter_by_name_lineedit.textChanged.connect(self._filter_name_lineedit_changed)
|
self.filter_by_name_lineedit.textChanged.connect(self._filter_name_lineedit_changed)
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ def create_msg_label(self):
|
|||||||
f.um_label = la = QLabel(_(
|
f.um_label = la = QLabel(_(
|
||||||
"<p>You can also perform other kinds of advanced searches, for example checking"
|
"<p>You can also perform other kinds of advanced searches, for example checking"
|
||||||
' for books that have no covers, combining multiple search expression using Boolean'
|
' for books that have no covers, combining multiple search expression using Boolean'
|
||||||
' operators and so on. See the <a href=\"%s\">The Search Interface</a> for more information.'
|
' operators and so on. See the <a href=\"%s\">The search interface</a> for more information.'
|
||||||
) % localize_user_manual_link('https://manual.calibre-ebook.com/gui.html#the-search-interface'))
|
) % localize_user_manual_link('https://manual.calibre-ebook.com/gui.html#the-search-interface'))
|
||||||
la.setMinimumSize(QSize(150, 0))
|
la.setMinimumSize(QSize(150, 0))
|
||||||
la.setWordWrap(True)
|
la.setWordWrap(True)
|
||||||
@ -81,7 +81,7 @@ def create_button_box(self):
|
|||||||
|
|
||||||
def create_adv_tab(self):
|
def create_adv_tab(self):
|
||||||
self.adv_tab = w = QWidget(self.tab_widget)
|
self.adv_tab = w = QWidget(self.tab_widget)
|
||||||
self.tab_widget.addTab(w, _("A&dvanced Search"))
|
self.tab_widget.addTab(w, _("A&dvanced search"))
|
||||||
|
|
||||||
w.g1 = QGroupBox(_("Find entries that have..."), w)
|
w.g1 = QGroupBox(_("Find entries that have..."), w)
|
||||||
w.g2 = QGroupBox(("But don't show entries that have..."), w)
|
w.g2 = QGroupBox(("But don't show entries that have..."), w)
|
||||||
@ -223,7 +223,7 @@ def create_date_tab(self, db):
|
|||||||
|
|
||||||
|
|
||||||
def setup_ui(self, db):
|
def setup_ui(self, db):
|
||||||
self.setWindowTitle(_("Advanced Search"))
|
self.setWindowTitle(_("Advanced search"))
|
||||||
self.setWindowIcon(QIcon(I('search.png')))
|
self.setWindowIcon(QIcon(I('search.png')))
|
||||||
self.l = l = QVBoxLayout(self)
|
self.l = l = QVBoxLayout(self)
|
||||||
self.h = h = QHBoxLayout()
|
self.h = h = QHBoxLayout()
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
<string>Tag Editor</string>
|
<string>Tag editor</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
<item>
|
<item>
|
||||||
|
@ -227,7 +227,7 @@ class MetadataSingleDialogBase(QDialog):
|
|||||||
|
|
||||||
self.tags = TagsEdit(self)
|
self.tags = TagsEdit(self)
|
||||||
self.tags_editor_button = QToolButton(self)
|
self.tags_editor_button = QToolButton(self)
|
||||||
self.tags_editor_button.setToolTip(_('Open Tag Editor'))
|
self.tags_editor_button.setToolTip(_('Open Tag editor'))
|
||||||
self.tags_editor_button.setIcon(QIcon(I('chapters.png')))
|
self.tags_editor_button.setIcon(QIcon(I('chapters.png')))
|
||||||
self.tags_editor_button.clicked.connect(self.tags_editor)
|
self.tags_editor_button.clicked.connect(self.tags_editor)
|
||||||
self.clear_tags_button = QToolButton(self)
|
self.clear_tags_button = QToolButton(self)
|
||||||
|
@ -77,6 +77,9 @@ One possible use for a plugboard is to alter the title to contain series informa
|
|||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Add new plugboard:</string>
|
<string>Add new plugboard:</string>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="buddy">
|
||||||
|
<cstring>new_format</cstring>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="1">
|
<item row="1" column="1">
|
||||||
@ -90,6 +93,9 @@ One possible use for a plugboard is to alter the title to contain series informa
|
|||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Edit existing plugboard:</string>
|
<string>Edit existing plugboard:</string>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="buddy">
|
||||||
|
<cstring>edit_format</cstring>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="1">
|
<item row="2" column="1">
|
||||||
@ -106,6 +112,9 @@ One possible use for a plugboard is to alter the title to contain series informa
|
|||||||
<property name="alignment">
|
<property name="alignment">
|
||||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="buddy">
|
||||||
|
<cstring>existing_plugboards</cstring>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="1" colspan="2">
|
<item row="3" column="1" colspan="2">
|
||||||
@ -186,7 +195,7 @@ One possible use for a plugboard is to alter the title to contain series informa
|
|||||||
<item>
|
<item>
|
||||||
<widget class="QPushButton" name="ok_button">
|
<widget class="QPushButton" name="ok_button">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Save plugboard</string>
|
<string>&Save plugboard</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@ -206,7 +215,7 @@ One possible use for a plugboard is to alter the title to contain series informa
|
|||||||
<item>
|
<item>
|
||||||
<widget class="QPushButton" name="del_button">
|
<widget class="QPushButton" name="del_button">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Delete plugboard</string>
|
<string>&Delete plugboard</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -437,7 +437,7 @@ class SearchBoxMixin(object): # {{{
|
|||||||
|
|
||||||
def init_search_box_mixin(self):
|
def init_search_box_mixin(self):
|
||||||
self.search.initialize('main_search_history', colorize=True,
|
self.search.initialize('main_search_history', colorize=True,
|
||||||
help_text=_('Search (For Advanced search click the button to the left)'))
|
help_text=_('Search (For advanced search click the button to the left)'))
|
||||||
self.search.cleared.connect(self.search_box_cleared)
|
self.search.cleared.connect(self.search_box_cleared)
|
||||||
# Queued so that search.current_text will be correct
|
# Queued so that search.current_text will be correct
|
||||||
self.search.changed.connect(self.search_box_changed,
|
self.search.changed.connect(self.search_box_changed,
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
<string>Advanced Search</string>
|
<string>Advanced search</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowIcon">
|
<property name="windowIcon">
|
||||||
<iconset>
|
<iconset>
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
<string>Advanced Search</string>
|
<string>Advanced search</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowIcon">
|
<property name="windowIcon">
|
||||||
<iconset>
|
<iconset>
|
||||||
|
@ -101,7 +101,7 @@ class RuleEdit(QWidget):
|
|||||||
h.addWidget(q)
|
h.addWidget(q)
|
||||||
self.tag_editor_button = b = QToolButton(self)
|
self.tag_editor_button = b = QToolButton(self)
|
||||||
b.setIcon(QIcon(I('chapters.png')))
|
b.setIcon(QIcon(I('chapters.png')))
|
||||||
b.setToolTip(_('Edit the list of tags with the tag editor'))
|
b.setToolTip(_('Edit the list of tags with the Tag editor'))
|
||||||
h.addWidget(b), b.clicked.connect(self.edit_tags)
|
h.addWidget(b), b.clicked.connect(self.edit_tags)
|
||||||
b.setVisible(self.can_use_tag_editor)
|
b.setVisible(self.can_use_tag_editor)
|
||||||
self.h2 = h = QHBoxLayout()
|
self.h2 = h = QHBoxLayout()
|
||||||
@ -150,7 +150,7 @@ class RuleEdit(QWidget):
|
|||||||
|
|
||||||
def specialise_context_menu(self, menu):
|
def specialise_context_menu(self, menu):
|
||||||
if self.can_use_tag_editor:
|
if self.can_use_tag_editor:
|
||||||
menu.addAction(_('Use the tag editor to edit the list of tags'), self.edit_tags)
|
menu.addAction(_('Use the Tag editor to edit the list of tags'), self.edit_tags)
|
||||||
|
|
||||||
def edit_tags(self):
|
def edit_tags(self):
|
||||||
from calibre.gui2.dialogs.tag_editor import TagEditor
|
from calibre.gui2.dialogs.tag_editor import TagEditor
|
||||||
|
@ -108,9 +108,9 @@ class FilenamePattern(QWidget, Ui_Form): # {{{
|
|||||||
fname = unicode(self.filename.text())
|
fname = unicode(self.filename.text())
|
||||||
ext = os.path.splitext(fname)[1][1:].lower()
|
ext = os.path.splitext(fname)[1][1:].lower()
|
||||||
if ext not in BOOK_EXTENSIONS:
|
if ext not in BOOK_EXTENSIONS:
|
||||||
return warning_dialog(self, _('Test name invalid'),
|
return warning_dialog(self, _('Test file name invalid'),
|
||||||
_('The name <b>%s</b> does not appear to end with a'
|
_('The file name <b>%s</b> does not appear to end with a'
|
||||||
' file extension. The name must end with a file '
|
' file extension. It must end with a file '
|
||||||
' extension like .epub or .mobi')%fname, show=True)
|
' extension like .epub or .mobi')%fname, show=True)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user