Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Added the required preprocessor directives to make building without epub support possible.
|
|
Epub support in Atril
|
|
Resolved the issue with epub document where the documents were not getting finalised. My bad, sorry, I fix that with this commit.
Also it seems I had set the wrong permissions on ev-view.[c,h]. Also fixed that.
|
|
The Mathjax files will be installed to $(backenddir)/epub/MathJax
This was as small as the install got.
|
|
I came across a document that didn't have an old style toc, and thus the all accomodating navsheet support.
Also fixed some mistakes here and there.
|
|
Tweaked the way we handle inverted colors so that documents with no "day" class tag fr their primary stylesheets can revert back to these stylesheets when prompted, the inverted colors run into problems on document reload, this needs to be fixed.
Other than that I removed the webkit flags and libs from shell/Makefile.am , they were there because at a very early stage of the project I had decided to use a webkit_web_view directly, then I ended up extending and using it in libview.
|
|
Added the capability to view and epub document with inverted colors, yet to test for documents where we write the stylesheet, although the code is there.
|
|
I noticed I had forgotten to move the webkit check outside the epub plugin, did so now, accordingly modified the module names.
|
|
|
|
|
|
Added the function to handle links from the toolbar, also added functions to disconnect all ev-view handlers once it has been replaced by ev-web-view, and vice-versa(to drop all handler associated to ev-web-view).
Also the unref call to job_thumb was causing thumbnail jobs to crash with GTK2, so had to revert that, now we're back to the document folder not getting deleted from disk.
|
|
I added the code to make it possible to build Atril with GTK3 and webkit2. Everything runs fine with both GTK3 and GTK2. The find module for epub was also tested and changed. Now I shall first attempt to fix some Glib errors, and the problem of the temporary directory not getting deleted, that arose when I stabilized the thumbnails.
|
|
You can now search through the entire epub document. In the next commit I'm adding support for webkit2 with gtk3.
|
|
In the design change in the previous commit, I forgot to make the thumbnail job used to set the window title a main loop job, I fix that in this commit.
Epub thumbnail jobs running as threads, WILL cause a program error occassionally, because we need to use the offscreen webview.
|
|
No more crashes when searching with the sidebar open, will probably add a pixbuf cache as well to speed it up even further.
The process which I earlier thought was not possible without separate jobs, work just fine as a single job, if I change the run mode of the thumbnail job, and incorporate a trylock() in case of epub.
|
|
I added the capability to search through documents. The search is quite buggy, and we'll be taking care of each bug one at a time.
|
|
The documents can finally be read alongside a TOC, I tested it with a variety of documents before this commit, so I presume it should work with all. Also fixed the part where I had screwed up PDF annotations owing to a wrong call. In the next commit, fully functional searching would be up, using HTML parser of libxml in combination with webkit.
Also some other minor changes.
|
|
..and other fixing other bugs that were present once the webview was added, like the escape key command etc. Will look to refactor the thumbnails into ev-web-view.c.
In the next commit I'll extend this search over the entire document.Also will incorporate document index(table of contents).
|
|
Alebit with a bit of bugs as far as navigation etc. are possible, we can read an epub document in Atril.
The document will be displayed with thumbnails, and all keyboard shortcuts work.
Menu options, the ones that I have currently added do work.
I Will now move on to features such as inverted colors, document index, etc, most of which should be simple to add.
Also made changes so that the presentation view does not fire up while displaying an epub document.
Also added the feature to copy text to clipboard using the Atril menu.
|
|
Fixed the backend epub_document_finalize function which was caused caja to crash when you opened the document properties dialog.
Fixed the ev_window_dispose and the webview's dispose and finalise functions, now the window closes without any glib-critical errors.
Also now it is possible to read epub documents, once you have changed pages at least once, I still have to figure out where I call load_uri at document load.
|
|
Added zoom-in and zoom out capabilities, also re-enabled window thumbnail which I had disabled previously when the thumbnails were not implemented.
Still trying to get the document to display, need to make the right changes, also trying to stop the window from entering presentation view, but that does happen and needs to be fixed.
|
|
Select all functionality to select all content from the webview.
Cleaned ev-jobs.c, it had a lot of unused code.
|
|
Passes the test with a 71 page epub, I don't think it would have much problems were we to scale it further.
|
|
The loading icons for all thumbnails are displayed, but the program does not segfault. Also realized that the absurd resizing of the window was due to the ephy-zoom action on the webview window. Will fix that in the next commit. Will also think of some workaround for screenshots.
For now committed this code so that this can act as a clean slate if I screw up somewhere.
|
|
Including creation of windows, webviews etc., still get a crash. The one page epub works fine with the thumbnails though.
Also fixing some calls which cause gtk-critical errors when I try to close the window.
|
|
Properties dialog for epub documents, will some basic properties.
Also set toolbar and menu sensitivity for the actions available in epub, will add more(find) once I write the module. Also inverted colors needs to be done with CSS or the like.
|
|
|
|
Now other problems with webkit. After much fidgeting I was able to resolve the previous problems of threads. However, now there is a different webkit error.
|
|
libview: Fix makefile
|
|
|
|
Due to the no fixed guidelines on how content in an ePub file should be arranged, in many cases,in files with content in subdirectories could not be extracted as those cases were not covered. The new code should not leave any corner cases.
|
|
Last time I screwed up annotations in PDF, due to a small error, here's the fix.
|
|
My last commit was supposed to have ev-web-view.c and ev-web-view.h however due to some reason I missed them last time, so here they are now. i am able to achieve thumbnails for my epub however these are of absurdly large size. Still struggling to get the webview done due to thread problems that I am encountering.
|
|
Earlier my approach was to replace the atril view directly with a webview. However as it turned out it was extremely difficult to accomplish much tasks without the document-model. So I created an Extension of the WebKitWebView class, EvWebView so that now we can manipulate the webview as desired. Also having a separate file really helps in terms of clarity.
Please note that there are many empty functions and TODO tags right now, I shall aim to fill these up once the display part is done, probably in this week.
I also added some code on the backend to draw thumbnails when with GTK+-3.0, although I have never tested a GTK+-3.0 build.With GTK+-2.0 you won't get any build errors, however epub backend won't work right now.
That being said, this commit is mostly because there was a lot of code that was lying in the local repository, and it was best to back it up as a failsafe.
I modified ev-window to accomodate this new data structure, and having an equivalent ev_web_view function for every ev_view function, I can achieve most functionality by filling those functions with Webkit modules.
Other than that on the backend
Other than that there were some minor changes to the code.
Although I did the above, currently I am not able to instantiate the EvWebView because of some class and object type definition errors, due to which I can't display the document.
|
|
This commit is mainly so that any further changes can be reverted to this state. The thumbnails are of very large sizes so I need to fix that, and in general implement thumbnails. Also I am facing an X-windows error, which I can't seem to fix. I feel it may be a problem with webkit-1.0, so will try the build with gtk3 and webkit2. If so is the case, I'll have to work something out for that. Should be able to push a commit soon where the document can actually be read, soon as I figure out the perfect place for the call to load uri.
Other than that more function were modified in accordance with webkit. The error I get when opening the file from the filechooser still persists, I need to fix that too.
|
|
- Modified configure.ac to use both webkit2 and webkit1 based on gtk version
- Modified Automake file in help/reference/shell/Makefile.am to compile with gtk-doc
- Modified ev-document-model to support epub-documents.
- Modified ev-window for epub documents.
- Modified jobs so epub pages are not rendered.
- Modified ev-document, although I'm not sure if this is necessary.
Still need to figure out where the web view load uri has to be called to actually load pages, from there the puzzle would be much simpler. Hope to get this done in the week, and pick up the pace now that only six weeks of coding remain before final evaluation.
|
|
Closes https://github.com/mate-desktop/atril/issues/75
|
|
create_thumbnail_frame should return NULL when source_pixbuf is NULL and width and height are not positive.
|
|
Summary:
I added functions in the backend to get document info.
Added a member to evdocument to deal with web documents(ePub) on the frontend.
Added a webview to the window, that shall replace the Atril view.
Due to removing the view from the main Atril window, I have given rise to various GTK-critical errors in response to signals, will be sure to suppress these in the next commit.
Worked towards overall blending in of ePub documents.
|
|
Currently the backend/epub/epub-document.c file has some dummy code, such as that for thumbnails, solely to get it to build. Now that we are done with all functions
that we would possibly need to handle the backend, I am now working now on displaying the document via a webview, starting with this commit where i add a webview to the EvWindow properties. Similar to this I need to put in custom functions for epub, as rendering is done by the layout engine. I will also need to add some epub specific callback functions to the widgets.
|
|
Fixed a tabbing error in backend/Makefile.am due to which the epub backend was not a target when building recursilvely, i am not commiting the changes to
epub-document.c as currently it will break the build, hope to fix it and get webkit and mathjax done by the weekend.
Also fixed an error in configure.ac wherin the appearance of AM_LIBTOOL_PROG before AC_CXX_PROG caused a "link:unsupported hardcode properties error" on Linux Mint.
|
|
This commit as compared to previous ones has much more changes as:
> The xml parsing functions were not generic enough to my needs and needed to be redefined as well as renamed .
> I also set up the document tree for the document using these parsers.All that is now left is to serve these to a webview.
> Fixed a typo in epub-document.h
TODO: integrate with Atril frontend.
|
|
I created a Makefile for the minizip backend, since i am only using part of that library and modified the epub backend to work with the library.
Also modified the configure script to suit our purpose.
The epub backend can now be compiled using the make command in the epub directory, although it cannot still be compiled as a part of atril.
|
|
configure.ac
Moved ioapi.c unzip.c unzip.h and ioapi.h into a separate directory backend/epub/minizip
Fixed an indentation problem in configure.ac, which was affecting the displayed result.
Also fixed a typo in epub-document.h where i had wrongly named the function.
|
|
In this commit i added functionality to extract an epub archive to a temporary location.Again i tried to keep the design modular. This will be changed as changes come along.
I also fixed the header to the standard atril backend header. Performed some code cleaning, naming functions as in the atril style of coding.
|
|
using libxml some functions were written which will be used to get keywords,attributes from files such as the ePub container.tried to keep the code generalised so as to facilitate reusability of code.
|
|
kickoff commit to add ePub support , creating a subdirectory structure and modified makefiles and configure script to
accomodate for ePub . As the sources are done , these will be further changed accordingly .
|
|
|
|
|