String changes

This commit is contained in:
Kovid Goyal 2020-11-22 09:22:44 +05:30
parent 5f5d68258f
commit 80aaffa6ef
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
10 changed files with 64 additions and 64 deletions

View File

@ -60,7 +60,7 @@
- [1903825] Welcome wizard: Fix changing the language causing a empty folder to be created. - [1903825] Welcome wizard: Fix changing the language causing a empty folder to be created.
- [1903699] Viewer: Fix regression causing custom shortcuts with shift key pressed not working - [1903699] Viewer: Fix regression causing custom shortcuts with Shift key pressed not working
- [1903423] Viewer: In dark mode when showing images with transparency in the popup use a light background color as most images are designed with a light background color in mind. - [1903423] Viewer: In dark mode when showing images with transparency in the popup use a light background color as most images are designed with a light background color in mind.
@ -112,7 +112,7 @@
- Get Books: Update Google and Gutenberg plugins for website changes - Get Books: Update Google and Gutenberg plugins for website changes
- [1900946] Viewer: Fix keyboard shortcuts using ctrl+alt+letter key not working on Windows. - [1900946] Viewer: Fix keyboard shortcuts using Ctrl+Alt+letter key not working on Windows.
- [1900942] Viewer: Fix keyboard shortcuts to shrink/grow selection not working. - [1900942] Viewer: Fix keyboard shortcuts to shrink/grow selection not working.
@ -778,7 +778,7 @@ For books sent with this release of calibre, reconnecting the Kindle to calibre
- Viewer: Ensure there is no bleed between pages when using single page per screen - Viewer: Ensure there is no bleed between pages when using single page per screen
- Fix shift click not working reliably in the book list - Fix Shift click not working reliably in the book list
- Fix edit open with applications not working from files browser in editor - Fix edit open with applications not working from files browser in editor
@ -1357,7 +1357,7 @@ If you turn on dark mode under the Windows Settings->Personalisation->Colors and
- Viewer: Don't flash the home page before loading a book if a book has been specified - Viewer: Don't flash the home page before loading a book if a book has been specified
- Viewer: Fix ctrl+m shortcut not working on Windows - Viewer: Fix Ctrl+m shortcut not working on Windows
- Content server: Fix regression that caused series name in book details view not not be blue to indicate it is clickable - Content server: Fix regression that caused series name in book details view not not be blue to indicate it is clickable

View File

@ -726,7 +726,7 @@ between 0 and 1. The default is 0.45, just under the median line length. Lower t
text in the unwrapping. Increase to include less. You can adjust this value in the conversion settings under :guilabel:`PDF Input`. text in the unwrapping. Increase to include less. You can adjust this value in the conversion settings under :guilabel:`PDF Input`.
Also, they often have headers and footers as part of the document that will become included with the text. Also, they often have headers and footers as part of the document that will become included with the text.
Use the Search and Replace panel to remove headers and footers to mitigate this issue. If the headers and footers are not Use the :guilabel:`Search and replace` panel to remove headers and footers to mitigate this issue. If the headers and footers are not
removed from the text it can throw off the paragraph unwrapping. To learn how to use the header and footer removal options, read removed from the text it can throw off the paragraph unwrapping. To learn how to use the header and footer removal options, read
:ref:`regexptutorial`. :ref:`regexptutorial`.

View File

@ -258,7 +258,7 @@ click in the Find box and select :guilabel:`Save current search`.
You can bring up the saved searches via :guilabel:`Search->Saved You can bring up the saved searches via :guilabel:`Search->Saved
searches`. This will present you with a list of search and replace expressions searches`. This will present you with a list of search and replace expressions
that you can apply. You can even select multiple entries in the list by holding that you can apply. You can even select multiple entries in the list by holding
down the Ctrl Key while clicking so as to run multiple search and replace down the Ctrl key while clicking so as to run multiple search and replace
expressions in a single operation. expressions in a single operation.
Function mode Function mode

View File

@ -562,7 +562,7 @@ Tag browser
The Tag browser allows you to easily browse your collection by Author/Tags/Series/etc. If you click on any item in the Tag browser, for example the author name Isaac Asimov, then the list of books to the right is restricted to showing books by that author. You can click on category names as well. For example, clicking on "Series" will show you all books in any series. The Tag browser allows you to easily browse your collection by Author/Tags/Series/etc. If you click on any item in the Tag browser, for example the author name Isaac Asimov, then the list of books to the right is restricted to showing books by that author. You can click on category names as well. For example, clicking on "Series" will show you all books in any series.
The first click on an item will restrict the list of books to those that contain or match the item. Continuing the above example, clicking on Isaac Asimov will show books by that author. Clicking again on the item will change what is shown, depending on whether the item has children (see sub-categories and hierarchical items below). Continuing the Isaac Asimov example, clicking again on Isaac Asimov will restrict the list of books to those not by Isaac Asimov. A third click will remove the restriction, showing all books. If you hold down the Ctrl or Shift keys and click on multiple items, then restrictions based on multiple items are created. For example you could hold Ctrl and click on the tags History and Europe for finding books on European history. The Tag browser works by constructing search expressions that are automatically entered into the Search bar. Looking at what the Tag browser generates is a good way to learn how to construct basic search expressions. The first click on an item will restrict the list of books to those that contain or match the item. Continuing the above example, clicking on Isaac Asimov will show books by that author. Clicking again on the item will change what is shown, depending on whether the item has children (see sub-categories and hierarchical items below). Continuing the Isaac Asimov example, clicking again on Isaac Asimov will restrict the list of books to those not by Isaac Asimov. A third click will remove the restriction, showing all books. If you hold down the Ctrl or :kbd:`Shift` keys and click on multiple items, then restrictions based on multiple items are created. For example you could hold Ctrl and click on the tags History and Europe for finding books on European history. The Tag browser works by constructing search expressions that are automatically entered into the Search bar. Looking at what the Tag browser generates is a good way to learn how to construct basic search expressions.
Items in the Tag browser have their icons partially colored. The amount of color depends on the average rating of the books in that category. So for example if the books by Isaac Asimov have an average of four stars, the icon for Isaac Asimov in the Tag browser will be 4/5th colored. You can hover your mouse over the icon to see the average rating. Items in the Tag browser have their icons partially colored. The amount of color depends on the average rating of the books in that category. So for example if the books by Isaac Asimov have an average of four stars, the icon for Isaac Asimov in the Tag browser will be 4/5th colored. You can hover your mouse over the icon to see the average rating.
@ -578,7 +578,7 @@ It is also possible to create hierarchies inside some of the text categories suc
Hierarchical items (items with children) use the same four 'click-on' searches as User categories. Items that do not have children use two of the searches: "everything matching" and "everything not matching". Hierarchical items (items with children) use the same four 'click-on' searches as User categories. Items that do not have children use two of the searches: "everything matching" and "everything not matching".
You can drag and drop items in the Tag browser onto User categories to add them to that category. If the source is a User category, holding the shift key while dragging will move the item to the new category. You can also drag and drop books from the book list onto items in the Tag browser; dropping a book on an item causes that item to be automatically applied to the dropped books. For example, dragging a book onto Isaac Asimov will set the author of that book to Isaac Asimov. Dropping it onto the tag History will add the tag History to the book's tags. You can drag and drop items in the Tag browser onto User categories to add them to that category. If the source is a User category, holding the :kbd:`Shift` key while dragging will move the item to the new category. You can also drag and drop books from the book list onto items in the Tag browser; dropping a book on an item causes that item to be automatically applied to the dropped books. For example, dragging a book onto Isaac Asimov will set the author of that book to Isaac Asimov. Dropping it onto the tag History will add the tag History to the book's tags.
You can easily find any item in the Tag browser by clicking the search button at the lower-right corner. In addition, you can right click on any item and choose one of several operations. Some examples are to hide it, rename it, or open a "Manage x" dialog that allows you to manage items of that kind. For example, the "Manage Authors" dialog allows you to rename authors and control how their names are sorted. You can easily find any item in the Tag browser by clicking the search button at the lower-right corner. In addition, you can right click on any item and choose one of several operations. Some examples are to hide it, rename it, or open a "Manage x" dialog that allows you to manage items of that kind. For example, the "Manage Authors" dialog allows you to rename authors and control how their names are sorted.

View File

@ -45,7 +45,7 @@ In addition, there is a button to automatically trim borders from the cover, in
Editing the metadata of many books at a time Editing the metadata of many books at a time
--------------------------------------------- ---------------------------------------------
First select the books you want to edit by holding Ctrl or Shift and clicking on them. If you select more than one book, clicking the :guilabel:`Edit metadata` button will cause the *Bulk* metadata edit dialog to open. Using this dialog, you can quickly set the author/publisher/rating/tags/series etc of a bunch of books to the same value. This is particularly useful if you have just imported a number of books that have some metadata in common. This dialog is very powerful, for example, it has a Search and Replace tab that you can use to perform bulk operations on metadata and even copy metadata from one column to another. First select the books you want to edit by holding :kbd:`Ctrl` or :kbd:`Shift` and clicking on them. If you select more than one book, clicking the :guilabel:`Edit metadata` button will cause the *Bulk* metadata edit dialog to open. Using this dialog, you can quickly set the author/publisher/rating/tags/series etc of a bunch of books to the same value. This is particularly useful if you have just imported a number of books that have some metadata in common. This dialog is very powerful, for example, it has a :guilabel:`Search and replace` tab that you can use to perform bulk operations on metadata and even copy metadata from one column to another.
The normal edit metadata dialog also has :guilabel:`Next` and :guilabel:`Previous` buttons that you can use to edit the metadata of several books one after the other. The normal edit metadata dialog also has :guilabel:`Next` and :guilabel:`Previous` buttons that you can use to edit the metadata of several books one after the other.
@ -54,7 +54,7 @@ Search and replace
The :guilabel:`Bulk metadata edit` dialog allows you to perform arbitrarily powerful search and replace operations on the selected books. By default it uses a simple text search and replace, but it also support *regular expressions*. For more on regular expressions, see :ref:`regexptutorial`. The :guilabel:`Bulk metadata edit` dialog allows you to perform arbitrarily powerful search and replace operations on the selected books. By default it uses a simple text search and replace, but it also support *regular expressions*. For more on regular expressions, see :ref:`regexptutorial`.
As noted above, there are two search and replace modes: character match and regular expression. Character match will look in the `Search field` you choose for the characters you type in the `search for` box and replace those characters with what you type in the `replace with` box. Each occurance of the search characters in the field will be replaced. For example, assume the field being searched contains `a bad cat`. If you search for `a` to be replaced with `HELLO`, then the result will be `HELLO bHELLOd cHELLOt`. As noted above, there are two search and replace modes: character match and regular expression. Character match will look in the `Search field` you choose for the characters you type in the `search for` box and replace those characters with what you type in the `replace with` box. Each occurrence of the search characters in the field will be replaced. For example, assume the field being searched contains `a bad cat`. If you search for `a` to be replaced with `HELLO`, then the result will be `HELLO bHELLOd cHELLOt`.
If the field you are searching on is a `multiple` field like tags, then each tag is treated separately. For example, if your tags contain `Horror, Scary`, the search expression `r,` will not match anything because the expression will first be applied to `Horror` and then to `Scary`. If the field you are searching on is a `multiple` field like tags, then each tag is treated separately. For example, if your tags contain `Horror, Scary`, the search expression `r,` will not match anything because the expression will first be applied to `Horror` and then to `Scary`.

View File

@ -86,7 +86,7 @@ So it looks like to get the print version, we need to prefix every article URL w
newsvote.bbc.co.uk/mpapps/pagetools/print/ newsvote.bbc.co.uk/mpapps/pagetools/print/
Now in the :guilabel:`Advanced Mode` of the Custom news sources dialog, you should see something like (remember to select *The BBC* recipe before switching to advanced mode): Now in the :guilabel:`Advanced mode` of the Custom news sources dialog, you should see something like (remember to select *The BBC* recipe before switching to advanced mode):
.. image:: images/bbc_advanced.png .. image:: images/bbc_advanced.png
:align: center :align: center

View File

@ -42,7 +42,7 @@ The viewer has two modes, "paged" and "flow". In paged mode the book content
is presented as pages, similar to a paper book. In flow mode the text is is presented as pages, similar to a paper book. In flow mode the text is
presented continuously, like in a web browser. You can switch between them presented continuously, like in a web browser. You can switch between them
using the viewer Preferences under :guilabel:`Page layout` or by pressing the using the viewer Preferences under :guilabel:`Page layout` or by pressing the
:kbd:`ctrl+m` key. :kbd:`Ctrl+m` key.
Bookmarks Bookmarks
@ -51,7 +51,7 @@ Bookmarks
When you are in the middle of a book and close the E-book viewer, it will remember When you are in the middle of a book and close the E-book viewer, it will remember
where you stopped reading and return there the next time you open the book. You where you stopped reading and return there the next time you open the book. You
can also set bookmarks in the book by using the :guilabel:`Bookmarks` button in can also set bookmarks in the book by using the :guilabel:`Bookmarks` button in
the E-book viewer controls or pressing :kbd:`ctrl+b`. When viewing EPUB format books, the E-book viewer controls or pressing :kbd:`Ctrl+b`. When viewing EPUB format books,
these bookmarks are actually saved in the EPUB file itself. You can add these bookmarks are actually saved in the EPUB file itself. You can add
bookmarks, then send the file to a friend. When they open the file, they will bookmarks, then send the file to a friend. When they open the file, they will
be able to see your bookmarks. You can turn off this behavior in the be able to see your bookmarks. You can turn off this behavior in the

View File

@ -329,7 +329,7 @@ class JobManager(QAbstractTableModel, AdaptSQP): # {{{
if unkillable: if unkillable:
names = '\n'.join(as_unicode(j.description) for j in unkillable) names = '\n'.join(as_unicode(j.description) for j in unkillable)
error_dialog(view, _('Cannot kill job'), error_dialog(view, _('Cannot kill job'),
_('Some of the jobs cannot be stopped. Click Show details' _('Some of the jobs cannot be stopped. Click "Show details"'
' to see the list of unstoppable jobs.'), det_msg=names, ' to see the list of unstoppable jobs.'), det_msg=names,
show=True) show=True)
jobs = [j for j in jobs if getattr(j, 'killable', True)] jobs = [j for j in jobs if getattr(j, 'killable', True)]

View File

@ -587,6 +587,16 @@ A value of zero means calculate automatically.</string>
<string>Caching of covers for improved performance</string> <string>Caching of covers for improved performance</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<item row="0" column="0" colspan="5">
<widget class="QLabel" name="label_13">
<property name="text">
<string>There are two kinds of caches that calibre uses to improve performance when rendering covers in the grid view. A disk cache that is kept on your hard disk and stores the cover thumbnails and an in memory cache used to ensure flicker free rendering of covers. For best results, keep the memory cache small and the disk cache large, unless you have a lot of extra RAM in your computer and don't mind it being used by the memory cache.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="2"> <item row="2" column="2">
<widget class="QSpinBox" name="opt_cover_grid_disk_cache_size"> <widget class="QSpinBox" name="opt_cover_grid_disk_cache_size">
<property name="specialValueText"> <property name="specialValueText">
@ -603,13 +613,46 @@ A value of zero means calculate automatically.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="1"> <item row="4" column="0">
<widget class="QPushButton" name="cover_grid_empty_cache">
<property name="text">
<string>&amp;Empty disk cache</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QPushButton" name="cover_grid_open_cache"> <widget class="QPushButton" name="cover_grid_open_cache">
<property name="text"> <property name="text">
<string>&amp;Open cache directory</string> <string>&amp;Open cache directory</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="2" colspan="3">
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>310</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="5" column="1">
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="3"> <item row="1" column="3">
<spacer name="horizontalSpacer_5"> <spacer name="horizontalSpacer_5">
<property name="orientation"> <property name="orientation">
@ -623,36 +666,6 @@ A value of zero means calculate automatically.</string>
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="0" column="0" colspan="5">
<widget class="QLabel" name="label_13">
<property name="text">
<string>There are two kinds of caches that calibre uses to improve performance when rendering covers in the grid view. A disk cache that is kept on your hard disk and stores the cover thumbnails and an in memory cache used to ensure flicker free rendering of covers. For best results, keep the memory cache small and the disk cache large, unless you have a lot of extra RAM in your computer and don't mind it being used by the memory cache.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="3" colspan="2">
<widget class="QLabel" name="cover_grid_current_disk_cache">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="3" column="2" colspan="3">
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>310</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0" colspan="2"> <item row="1" column="0" colspan="2">
<widget class="QLabel" name="label_15"> <widget class="QLabel" name="label_15">
<property name="text"> <property name="text">
@ -673,13 +686,6 @@ A value of zero means calculate automatically.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="0">
<widget class="QPushButton" name="cover_grid_empty_cache">
<property name="text">
<string>&amp;Empty disk cache</string>
</property>
</widget>
</item>
<item row="1" column="2"> <item row="1" column="2">
<widget class="QSpinBox" name="opt_cover_grid_cache_size_multiple"> <widget class="QSpinBox" name="opt_cover_grid_cache_size_multiple">
<property name="toolTip"> <property name="toolTip">
@ -693,18 +699,12 @@ A value of zero means calculate automatically.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="1"> <item row="3" column="2">
<spacer name="verticalSpacer_2"> <widget class="QLabel" name="cover_grid_current_disk_cache">
<property name="orientation"> <property name="text">
<enum>Qt::Vertical</enum> <string/>
</property> </property>
<property name="sizeHint" stdset="0"> </widget>
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item> </item>
</layout> </layout>
</widget> </widget>

View File

@ -116,7 +116,7 @@ class ReadUI:
ui_operations.speak_simple_text = def (text): ui_operations.speak_simple_text = def (text):
if not window.speechSynthesis: if not window.speechSynthesis:
return error_dialog(_('No speech support'), _( return error_dialog(_('No speech support'), _(
'Your browser does not have support for Speech')) 'Your browser does not have support for Text-to-Speech'))
ut = new SpeechSynthesisUtterance(text) # noqa ut = new SpeechSynthesisUtterance(text) # noqa
window.speechSynthesis.speak(ut) window.speechSynthesis.speak(ut)