37108 Commits

Author SHA1 Message Date
Kovid Goyal
1ff9bf9e24
Edit book: Allow selecting multiple books to edit at once, opening all selected books in separate editor instances 2024-02-12 14:34:37 +05:30
Kovid Goyal
14caed3a6f
fix check for local with non-existent setting name 2024-02-09 14:42:48 +05:30
Kovid Goyal
dc1daee516
Handle PIL images in any mode by converting to RGBA 2024-02-09 12:16:52 +05:30
Kovid Goyal
8db9707e2e
Fix #2052766 [scrolling down books in latest version give error](https://bugs.launchpad.net/calibre/+bug/2052766) 2024-02-09 12:13:47 +05:30
Kovid Goyal
f947ecf414
version 7.5.1 2024-02-09 11:41:37 +05:30
Kovid Goyal
d123ff336c
Fix system default color palette not selecting dark palette on startup on some windows systems 2024-02-09 11:37:42 +05:30
Kovid Goyal
392215085d
version 7.5.0 2024-02-09 07:51:46 +05:30
Kovid Goyal
d7d9488807
... 2024-02-08 14:26:02 +05:30
Kovid Goyal
391430870a
Add a button to import colors from the system palette when using custom colors 2024-02-08 14:20:49 +05:30
Kovid Goyal
b288b964c8
Code for exporting a subset of preferences 2024-02-08 13:41:26 +05:30
Kovid Goyal
4cea6a59b5
Allow specifying richer metadata per setting 2024-02-08 09:37:43 +05:30
Kovid Goyal
219a1572f6
Edit book: When wrapping selected text in a tag, preserve the selection after wrapping. Fixes #2050100 [small problem in edit-mode](https://bugs.launchpad.net/calibre/+bug/2050100) 2024-02-07 07:20:42 +05:30
Kovid Goyal
c72d7d1d43
Fix #2050075 [Calibre Web Viewer and Cache for Offline Reading](https://bugs.launchpad.net/calibre/+bug/2050075) 2024-02-07 07:10:33 +05:30
Kovid Goyal
5f8930ab31
Fix #2052500 [[Enhancement] Unnessesary space in Edit book window title](https://bugs.launchpad.net/calibre/+bug/2052500) 2024-02-06 15:53:59 +05:30
Kovid Goyal
2132e31339
Full text search window: Add actions to the context menu to open the book at the clicked on result. Also allow using the view book shortcut to open the currently selected search result. Fixes #2052462 [[Enhancement] Press V to view book in the Full text search dialog](https://bugs.launchpad.net/calibre/+bug/2052462) 2024-02-06 09:28:44 +05:30
Kovid Goyal
f179b8c9b9
When showing the FTS dialog pre populate the search box with the contents of the main calibre search box if the main search box contains a simple search. Fixes #2052460 [[Enhancement] Automatically search for what is typed in the main calibre Search field when opening the Full text dialog](https://bugs.launchpad.net/calibre/+bug/2052460) 2024-02-06 08:47:07 +05:30
Kovid Goyal
a725dd21ac
Move panose-1 error nuking to new CSS checking code
Fixes #2052427 [After converting to epub and running a check-up for errors on the epub editor, always the following message appears: Unexpected unknown property “panose-1” (property-no-unknown).](https://bugs.launchpad.net/calibre/+bug/2052427)
2024-02-05 18:36:07 +05:30
Kovid Goyal
39505b9d55
Fix #2051207 [Editor: Insert Link produces two undo actions](https://bugs.launchpad.net/calibre/+bug/2051207) 2024-02-05 14:36:21 +05:30
Kovid Goyal
d38baa022c
pep8 2024-02-05 14:34:09 +05:30
Kovid Goyal
aaeee5f7a3
Fix #2049968 [[Enhancement - E-book viewer] Unnecessary separator in Preferences > Shortcuts sections](https://bugs.launchpad.net/calibre/+bug/2049968) 2024-02-05 14:23:06 +05:30
Kovid Goyal
f5c5a149e9
Show a warning when configuring colors with system user interface style 2024-02-05 12:11:14 +05:30
Kovid Goyal
bdc000d2ec
Wire up the color palette preferences into the main preferences GUI 2024-02-05 12:03:56 +05:30
Kovid Goyal
95c28f6ab4
Output the full path to the exe as part of basic debug info 2024-02-05 08:05:35 +05:30
Kovid Goyal
1392a95abc
Fix restore defaults 2024-02-04 22:32:05 +05:30
Kovid Goyal
b7382d6f52
... 2024-02-04 22:26:04 +05:30
Kovid Goyal
b47e0d5125
UI for customizing palettes
Needs integration in to calibre preferences
2024-02-04 22:24:42 +05:30
Kovid Goyal
085862b062
Change to using a fixed standard light palette
This fixes all manner of subtle issues introduced by Qt's broken
attempts to map system colors to a QPalette.

1) Highlight color being same as Windows' accent color (this is anyway
   reverted in Qt 6.6)

2) Window titlebars not following system light/dark changes on Windows.

3) All the custom code that I wrote for tracking system light/dark
   changes can be dropped in favor of the new QStyleHints::colorScheme
   property

4) We had a fixed dark mode palette but not a fixed light mode palette.

I am sure people, especially on Linux, are going to complain about this,
but there are simply too many upsides. I will perhaps add a way to
configure the details of the light and dark palettes for people that
need it. This dialog could theoretically have a button to try to import
the standard system palette automatically to create the custom palette.
2024-02-04 11:52:10 +05:30
Kovid Goyal
3a4787577b
... 2024-02-04 09:19:53 +05:30
Kovid Goyal
90a0a33723
Windows: Fix a regression in 7.0 that caused images referring to files on the disk within comments columns to not display in some circumstances 2024-02-04 09:18:30 +05:30
Kovid Goyal
7e3ac04222
E-book viewer: Fix clock showing hour as zero instead of 12 between 12 and 1 am/pm 2024-02-03 09:13:33 +05:30
Kovid Goyal
e1956f3cff
Ignore a filenotfound error that happens during folder removal on windows despite exists() succeeding 2024-01-30 12:23:33 +05:30
Kovid Goyal
3fd6c7f915
... 2024-01-29 11:30:25 +05:30
Kovid Goyal
f01474325e
Fix tooltips not being displayed for layout buttons in layout menu 2024-01-29 08:21:14 +05:30
Charles Haley
c1b727ff52 Minor changes:
- Correct some comments so they reflect what the code is now doing.
- Make return None explicit in a few places.
- Wrap render_cover() in an if to check that cover_tuple is valid. This doesn't change behavior because the thrown exception would do the same thing, but being explicit is nice.
2024-01-27 11:35:32 +00:00
Kovid Goyal
6f82b8e36c
If there is an error rendering the cover thumbnail report it to the GUI with thumb=None 2024-01-27 09:06:01 +05:30
Kovid Goyal
f97147afec
Some optimizations for previous PR
1) Set device pixel ratio on generated QPixmap
2) Avoid copying image data when loading cover from library
3) Convert thumbnail to RGBA in cover thread so as to do less work in
   GUI thread
2024-01-27 09:01:52 +05:30
Charles Haley
d6f5384b8a Move convert_PIL_image_to_pixmap to the GUI thread 2024-01-26 20:35:44 +00:00
Charles Haley
3960e6a8d5
Merge branch 'kovidgoyal:master' into master 2024-01-26 18:03:33 +00:00
Charles Haley
5ba71155ac Use the new convert_PIL_image_to_pixmap function.
I can't use ReadOnlyFileBuffer because PIL requires that the buffer have the lstrip() function. I did eliminate a copy operation when writing the image to the thumbnail cache.
2024-01-26 18:00:56 +00:00
Kovid Goyal
99c0ce77f7
... 2024-01-26 21:41:24 +05:30
Charles Haley
7ab5fedd1a
Merge branch 'kovidgoyal:master' into master 2024-01-26 16:09:27 +00:00
Kovid Goyal
f7d9b0383e
... 2024-01-26 21:35:58 +05:30
Kovid Goyal
ea7d80c79b
Add a function to efficiently convert PIL images to QPixmaps 2024-01-26 21:33:19 +05:30
Charles Haley
f312435b59 Change to using PIL for image rendering. This lets us do all thumbnail generation on the cover thread.
I couldn't make the PIL ImageQt stuff work. It seems to use a common butter somewhere. Generating and adding a second image to the CoverCache corrupted previously added images. This implementation avoids this problem by passing a byte string of the PIL thumbnail to re_render(), which creates the QPixmap on the GUI thread. As a side effect, all the CoverCache operations are now on the GUI thread.

This implementation is visibly faster than the last one.
2024-01-26 13:24:50 +00:00
Kovid Goyal
07f988b109
No need to make two filesystem calls when checking version of thumbnail cache 2024-01-25 21:29:17 +05:30
Kovid Goyal
3dcdc766ee
Ensure self.dbref always exists 2024-01-25 21:23:33 +05:30
Kovid Goyal
3a56d5ca48
Do not call self.model() in the fetch covers thread
That is Qt code and Qt is not safe ot use outside the GUI thread
2024-01-25 21:21:51 +05:30
Charles Haley
4972af52ab Fix for the cover render hang discussed in https://www.mobileread.com/forums/showthread.php?t=358705.
- All Qt operations are now done on the GUI thread. File operations are done on a separate thread.
- QPixmap is used instead of QImage.
- The ThumbnailCache is now versioned.

The rendering operations are done using a FunctionDispatcher instead of a Qt signal to avoid a long queue of render operations causing the UI to be sluggish.

Emblems etc aren't rendered if the cover cache hasn't been set for the book. This reduces some subtle flashing as the cover is repainted. However, covers are seen as empty regions until the cover is actually rendered.

I also fixed a bug where the wrong cache would be used after a switch library. The UUID used for the cache was set at thread creation time instead of set_database time.
2024-01-25 13:54:12 +00:00
Charles Haley
1ce6a63a62 Bug #2049992: unknown function when referencing stored template "function" in epub:save_to_disk plugboard template
The comments in Saver.__init__ are there in case there is some reason to not remove the load_user_template_functions() call. They can be removed.
2024-01-21 14:38:34 +00:00
Kovid Goyal
dff94f6f62
Better fix for delegate max width calculation
Use the width of the viewport widget as that automatically excludes
scrollbars.
2024-01-20 08:26:28 +05:30