| Age | Commit message (Collapse) | Author | Files | Lines |
|
Add a get_doc_handle virtual method to EvDocumentClass so the view layer
can obtain the underlying GepubDoc without depending on backend types
directly. This prepares for replacing EvWebView with GepubWidget which
needs the GepubDoc to render content.
Assisted-by: OpenCode:claude-opus-4-6
|
|
Remove the bundled minizip directory, unused includes, and the night
mode virtual methods from EvDocumentClass which are no longer called by
any code. Night mode is now handled entirely through WebKit user
stylesheets.
Assisted-by: OpenCode:claude-opus-4-6
|
|
Pre-compute all page URI paths at load time so get_page is thread-safe
and does not mutate GepubDoc state. Remove the EvDocumentFind interface
because the threaded find job is incompatible with the single-threaded
GepubDoc and WebKit. EPUB search will be reimplemented using WebKit's
native find controller in a future commit.
Assisted-by: OpenCode:claude-opus-4-6
|
|
Replace the old approach of modifying extracted HTML files on disk with
a WebKitUserStyleSheet injected via the WebKitUserContentManager. This
is cleaner and works with the new libgepub backend which no longer
extracts files to a temporary directory.
Assisted-by: OpenCode:claude-opus-4-6
|
|
Replace the hand-rolled EPUB parsing with libgepub. This removes the
bundled minizip library, custom XML utilities, and temporary directory
extraction in favor of GepubDoc which handles archive access, metadata,
spine navigation, and table of contents. An epub:// URI scheme handler
serves resources directly from the archive without extracting to disk.
Search and night mode are stubbed as no-ops pending follow-up commits.
Assisted-by: OpenCode:claude-opus-4-6
|
|
Add libgepub as a required dependency for the EPUB backend in both meson
and autotools build systems. No source code changes yet, but this
prepares for replacing the hand-rolled EPUB parsing with libgepub.
Assisted-by: OpenCode:claude-opus-4-6
|
|
EPUB files with missing or incomplete metadata (like no title or missing
navigation elements) can cause NULL pointer dereferences in the XML
parsing functions. This adds NULL checks to xml_parse_children_of_node,
get_child_list, and the TOC text parsing loop.
Fixes #707
|
|
Fixes #673
Backported from https://gitlab.gnome.org/GNOME/evince/-/commit/021428c9
|
|
Check that the content file exists before attempting to parse it, and
handle failures in document title extraction gracefully.
|
|
Replace manual byte-by-byte copy loop with g_strndup when extracting the
directory component from the epub container's full-path attribute.
|
|
This adds support to the pdf backend for loading and saving
text markup annotations of subtype Squiggly.
Backported from https://gitlab.gnome.org/GNOME/evince/-/commit/5702e401
|
|
Backported from https://gitlab.gnome.org/GNOME/evince/-/commit/4bd88ed0
|
|
Backported from https://gitlab.gnome.org/GNOME/evince/-/commit/9b71d67e
|
|
Implementing the type and a method to create
highlight annotations.
Backported from https://gitlab.gnome.org/GNOME/evince/-/commit/53c349e8
|
|
|
|
We used to use two methods to save a document: poppler_document_save
and poppler_document_save_a_copy. The latter only saves a copy of
the original document, discarding any change done (e.g. forms and
annotations). However, after a document has been modified and saved,
if there is no new change and the user saves the document, it will
discard even the previous saved changes to preserve a copy of the
original document.
By only using poppler_document_save to save the content of the
current document opened in Atril, to avoid data loss made between
saves.
https://bugzilla.gnome.org/show_bug.cgi?id=770012
Adapted from the original commit at:
https://gitlab.gnome.org/GNOME/evince/-/commit/26dc2f52
Co-authored-by: Eric Park <[email protected]>
|
|
Based on an XReader change[1], look up the MathJax source at configure
time for better portability. If not specified manually, look in the
common locations.
This adds the --with-mathjax-directory=DIR configure option to manually
specify the location, overriding the automatic discovery.
The Meson part already exists, although was not used by the code.
[1]: https://github.com/linuxmint/xreader/commit/9c6f363ad47f33b290d270489e50f7ad6071987a
|
|
Import test source from XReader[1]. This is not as useful as it might
seem as it's not a unit test, but it's still nice to have an easy way
to manually test this code, and reduces differences with XReader,
especially in the Meson build system.
[1] https://github.com/linuxmint/xreader/blob/master/backend/comics/test-ev-archive.c
|
|
This allows enabling the backend automatically depending on whether the
dependencies are satisfied or not, like Autotool's counterpart.
By default, the PDF backend is force-enabled and the Pixbuf backend is
disabled, as with Autotools.
|
|
|
|
Signed-off-by: Oz Tiram <[email protected]>
|
|
Signed-off-by: Oz Tiram <[email protected]>
|
|
Signed-off-by: Oz Tiram <[email protected]>
|
|
Mostly copy and paste from linuxmint/xreader
Signed-off-by: Oz Tiram <[email protected]>
|
|
|
|
* fix a incompatible pointer type warning for gcc14
Co-authored-by: Colomban Wendling <[email protected]>
|
|
This commit also fixes an incorrect sizeof call detected by
AddressSanitizer.
Closes #599
|
|
Test each file's resolved path against the temporary directory
before extracting.
|
|
This commit eliminates the use of external commands for opening
comic documents, and uses libarchive instead.
|
|
|
|
instead of epub:id.
Add a null check as well.
ref:
https://help.apple.com/itc/booksassetguide/en.lproj/itc0f175a5b9.html#apdd3c4c6d1c0904
https://idpf.org/epub/301/spec/epub-contentdocs-20140626.html#sec-xhtml-nav
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- tab to spaces
- fix some indents
|
|
|
|
|
|
|
|
|
|
Fixes the warnings:
backend/djvu/djvu-text-page.c:46:31: style: Clarify calculation precedence for '&' and '?'. [clarifyCalculation]
g_strjoin (delimit & 2 ? "\n" :
^
backend/djvu/djvu-text-page.c:47:28: style: Clarify calculation precedence for '&' and '?'. [clarifyCalculation]
delimit & 1 ? " " : NULL,
^
|
|
Fixes the warnings:
backend/comics/comics-document.c:767:21: style: Condition 'bytes<=0' is always true [knownConditionTrueFalse]
backend/epub/minizip/unzip.c:603:25: style: Condition 'unz_copyright[0]!=' '' is always false [knownConditionTrueFalse]
properties/ev-properties-view.c:197:33: style: Condition 'text' is always true [knownConditionTrueFalse]
shell/ev-sidebar-thumbnails.c:598:7: style: Condition '!loading_icon' is always true [knownConditionTrueFalse]
shell/main.c:115:6: style: Condition '!error' is always true [knownConditionTrueFalse]
|
|
|