51861 Commits

Author SHA1 Message Date
Kovid Goyal
d346c19c80
E-book viewer: Fix modifying an existing highlight causing duplicates to be created in some books. Fixes #2122747 [Private bug](https://bugs.launchpad.net/calibre/+bug/2122747)
Probably the issue manifests when using box-sizing: border-box in the
book CSS, but I didnt bother to check for the exact cause.
2025-09-15 11:13:45 +05:30
Kovid Goyal
81475dad84
E-book viewer: Fix placement of selection handles in some books when modifying an existing highlight 2025-09-15 10:14:55 +05:30
Kovid Goyal
8db3e0f996
... 2025-09-14 21:31:51 +05:30
Kovid Goyal
ecacc3b9d4
... 2025-09-14 21:28:13 +05:30
Kovid Goyal
ce333c9de4
Add a note about typical timelines for security incident responses 2025-09-14 21:13:58 +05:30
Kovid Goyal
5ef384300d
Dont ignore removed ruff linting rule 2025-09-14 19:09:44 +05:30
Kovid Goyal
90ab77e21a
pep8 2025-09-14 19:09:06 +05:30
Kovid Goyal
09abf38d1e
Merge branch 'master' of https://github.com/cbhaley/calibre 2025-09-14 19:08:28 +05:30
Charles Haley
ed83d9eeb8 Several related changes:
* Add a "with" statement to the template language that for the duration of the code block changes the "current book" to the one specified by the book id.
* A new formatter function selected_books() that returns the book ids of the currently selected books
* A new formatter function selected_column() that returns the lookup name of the column containing the selected cell.
* A new formatter function sort_book_ids() that sorts the books specified by book_ids.
* A new formatter function show_dialog() that opens a dialog to display plain text or html.
* Add check boxes to the template tester to control "run as you type" and to restrict test runs to the first selected book.

Here is an example using several of the new features:

program:
 ids = sort_book_ids(selected_books(), 'series', 1, 'title', 1);
 res = '<style> th, td {padding: 2px;}</style> <h2>Book Size Report</h2><p><table>';
 total = 0;

 def table_row(title, series, size):
  return strcat('<tr><td>', title, '</td>',
       '<td>', series, '</td>',
       '<td>', if size !=# 0 then human_readable(size) else '0' fi, '</td>',
       '</tr>', character('newline'))
 fed;

 for id in ids:
  with id:
   s = booksize();
   total = total + s;
   res = strcat(res, table_row($title, $series, s))
  htiw
 rof;
 res = strcat(res, table_row('TOTAL', '', total));
 res = strcat(res, '</table>');
 show_dialog(res)
2025-09-14 14:26:35 +01:00
Kovid Goyal
91216de5f3
When exporting annotations as markdown, format the date as italics to serve as a visual marker separating the highlighted text from its notes 2025-09-14 11:27:50 +05:30
Kovid Goyal
e848948301
Merge branch 'master' of https://github.com/unkn0w7n/calibre 2025-09-13 19:27:06 +05:30
unkn0w7n
c973a2afec Update econ recipes 2025-09-13 14:31:07 +05:30
Kovid Goyal
bbd776c959
Merge branch 'master' of https://github.com/unkn0w7n/calibre 2025-09-13 14:28:41 +05:30
unkn0w7n
49a866846c Update economist_free.recipe 2025-09-13 14:27:22 +05:30
unkn0w7n
060e3ae3ce Update economist.recipe
Refactor link parsing
2025-09-13 14:26:33 +05:30
Kovid Goyal
9287ca7ee6
Merge branch 'master' of https://github.com/unkn0w7n/calibre 2025-09-13 14:16:18 +05:30
unkn0w7n
882b2dd517 Update nytimes.py
fix JSON decode error
2025-09-13 11:38:44 +05:30
Kovid Goyal
3b036b4853
DRYer 2025-09-13 08:50:35 +05:30
Kovid Goyal
817f936a56
Add support for reasoning to Ollama backend 2025-09-13 08:38:44 +05:30
Kovid Goyal
9a43f11b2b
Basic Ollama interaction works 2025-09-12 07:17:27 +05:30
Kovid Goyal
5d7e967f83
... 2025-09-12 07:14:38 +05:30
Kovid Goyal
f0fcb84234
... 2025-09-11 17:29:41 +05:30
Kovid Goyal
f9914da65f
Start work on Ollama backend 2025-09-11 09:42:53 +05:30
Kovid Goyal
2be1c4d276
Add web searches to OpenRouter
Defaults to disable as unlike Gemini, where the first 1500 are free,
they cost approx two cents per request.
2025-09-10 12:24:37 +05:30
Kovid Goyal
de5c0c91f8
Remove OpenAI as it requires waay too many hoops to jump through to get access to its models
They currently require you to take selfies and upload a governemnt ID.
For crying out loud, are they insane?
2025-09-10 11:25:42 +05:30
Kovid Goyal
8292ae9e6f
Start work on OpenAI backend 2025-09-10 10:43:06 +05:30
Kovid Goyal
a4938b6465
DRYer 2025-09-10 09:41:21 +05:30
Kovid Goyal
05bc5e5bee
Add licensing and dep type info to sources.json 2025-09-10 07:51:12 +05:30
Kovid Goyal
0d9627879b
Update security.md to call out github private security advisories 2025-09-09 22:45:56 +05:30
Kovid Goyal
275c3c3918
GitHub AI backend working apart from costing 2025-09-09 18:42:42 +05:30
Kovid Goyal
e8712f26f1
Start work on GitHub AI backend 2025-09-09 09:26:49 +05:30
Kovid Goyal
c6cf94f0a3
Open external http links in chat responses 2025-09-09 09:02:53 +05:30
Kovid Goyal
33f5d00252
Gemini: Add support for RAG with google searches 2025-09-09 06:49:02 +05:30
Kovid Goyal
b013beec19
pep8 2025-09-08 21:26:28 +05:30
Kovid Goyal
6057fc8549
Merge branch 'master' of https://github.com/cbhaley/calibre 2025-09-08 21:25:22 +05:30
Charles Haley
5fd445c656 Add ability to open a dialog box containing the cell's tooltip. This makes tooltips more accessible to people who primarily use the keyboard. A shortcut can be defined but none is set by default.
Also a few string changes.
2025-09-08 16:49:59 +01:00
Charles Haley
6ec119a537 Fix tooltips for non-string objects throwing exceptions when custom tooltip templates are used. This happens because idx.data(Qt.ItemDataRole.ToolTipRole) can return a bool, QDateTime, float, or int instead of the string representation for these objects.
pep8 will "fix" the Qt imports list.
2025-09-08 16:48:19 +01:00
Kovid Goyal
8c22882248
string changes 2025-09-08 20:46:36 +05:30
Kovid Goyal
ed3336dab2
Sort provider plugins by name only 2025-09-08 17:39:04 +05:30
Kovid Goyal
1d4dff834a
Merge branch 'action' of https://github.com/xxyzz/calibre 2025-09-08 17:19:11 +05:30
xxyzz
d86e6043aa
Update GitHub Actions dependencies and enable Dependabot
Dependabot will keep these action dependencies updated with pull
requests
2025-09-08 17:11:58 +08:00
Kovid Goyal
12ac83c87f
Fix usage of AICapabilities as purpose key 2025-09-08 14:17:50 +05:30
Kovid Goyal
9d0956722f
... 2025-09-08 13:48:34 +05:30
Kovid Goyal
956e88b82c
Nicer cost rendering 2025-09-08 13:38:08 +05:30
Kovid Goyal
29639cf914
Gemini backend now basically works 2025-09-08 13:36:19 +05:30
Kovid Goyal
de1257a4ad
Implement parsing of Google AI model metadata 2025-09-07 21:51:30 +05:30
Kovid Goyal
33b815a5d7
... 2025-09-07 21:08:47 +05:30
Kovid Goyal
038fd287b3
Start work on Gemini backend 2025-09-07 20:54:21 +05:30
Kovid Goyal
15ad5598f1
... 2025-09-07 18:47:15 +05:30
Kovid Goyal
38929afe5f
Automatically detect and format markdown responses 2025-09-07 18:47:15 +05:30